#!/usr/bin/python
class List:
list = []
def append(self, append):
print(append())
#self.append = append
def displayList(self, displayList):
print(displayList())
#print(self.append)
def main():
list = List()
list.append('abc')
list.append('def')
list.append('ghi')
list.displayList()
if __name__ == '__main__':
main()
答案 0 :(得分:1)
您有一个方法append
(引用self.append
),参数append
,然后该方法调用传递的参数append
。但是在main
中,您调用对象的append
方法并向其发送字符串。请记住,在该方法中,您将调用传递的参数。由于该参数是一个字符串,因此无法调用它。
您班级中的另一种方法displayList
与append
做的完全相同,只是您在没有参数的情况下调用它,这也会产生错误。
请勿尝试通过预先self
(print(self.append())
或print(self.displayList(0))
)来解决这些问题,因为这会超过最大递归深度。
您的List
班级list
也是一个类变量,而不是实例变量。这可能会在以后导致更多问题。
我建议退后一步,再想一想你要做什么以及为什么做。如果你是为了娱乐/教育创建这个课程,可能会better ways to learn。如果您将其作为实际计划的一部分(即将其用作特定挑战的解决方案),您可能会有XY Problem。
答案 1 :(得分:0)