class Square:
def _init_(self,side):
self._side = side
@property
def side(self):
return self._side
@side.setter
def side(self,value):
if value >= 0:
self._side = value
else:
print("error")
@property
def area(self):
return self._side **2
@classmethod
def unit_square(cls):
return cls(1)
s = Square(5)
print(s.side)
print(s.area)
但我得到了错误(s = Square(5) TypeError: Square()不接受任何参数),我无法弄清楚。
的 init
方法应该有双下划线(__
). 将方法改为 __init__
def __init__(self, side):
self._side = side