【发布时间】:2017-10-02 03:27:33
【问题描述】:
这是我在这里的第一篇文章,如果有任何错误,请告诉我。
这是我的代码:
import math
class Square():
def __init__(self, length):
self.length = length
def getL(self,length):
self.length = length
print(length)
def getP(self,length):
return length * 4
def getA(self,length):
return length * length
def __add__(self,another_square):
return Square(self.length + another_square.length)
s1 = Square()
s2 = Square()
print(s1.setL(5))
print(s1.getP(5))
print(s1.getA(5))
print(s2.getP(12))
print(s2.getA(15))
s3 = s1 + s2
print(s3.getA())
当我运行时,它给了我一个 TypeError:
Traceback (most recent call last):
File "C:\Users\user\Desktop\programming.py", line 21, in <module>
s1 = Square()
TypeError: __init__() missing 1 required positional argument:'length'
我想知道我的代码有什么问题,我们将不胜感激。
【问题讨论】:
-
当您为 Python 类创建对象时,
__init__将被调用进行初始化。因此,您需要传递相同的参数。在你的情况下,你应该通过长度。s1 = Square(length_value)