Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 类型错误:';str';无法为append()调用对象_Python - Fatal编程技术网

Python 类型错误:';str';无法为append()调用对象

Python 类型错误:';str';无法为append()调用对象,python,Python,您有一个方法append(用self.append引用),带有一个参数append,然后该方法调用传递的参数append。但是在main中,调用对象的append方法并向其发送字符串。请记住,在该方法中,您正在调用传递的参数。因为那个参数是字符串,所以不能调用它 类中的另一个方法,displayList,执行与append完全相同的操作,只是调用它时根本没有参数,这也会生成错误 不要试图通过预加self(print(self.append())或print(self.displayList(0)

您有一个方法
append
(用
self.append
引用),带有一个参数
append
,然后该方法调用传递的参数
append
。但是在
main
中,调用对象的
append
方法并向其发送字符串。请记住,在该方法中,您正在调用传递的参数。因为那个参数是字符串,所以不能调用它

类中的另一个方法,
displayList
,执行与
append
完全相同的操作,只是调用它时根本没有参数,这也会生成错误

不要试图通过预加
self
print(self.append())
print(self.displayList(0))
来解决这些问题,因为这将超过最大递归深度

您的
列表
类的
列表
也是一个类变量,而不是实例变量。那以后可能会导致更多的问题


我建议你退后一步,再想想你想做什么,为什么。如果你创建这个课程是为了娱乐/教育,可能有。如果你把它作为一个实用程序的一部分(即,将它作为一个特定挑战的解决方案),你可能会有一个。

猜怎么着?这是因为字符串对象不可调用

您的输入和输出是什么?问题出现在
def append(self,append):print(append())
中,是否确实要将参数
append
作为函数调用?您试图在这里实现什么?
#!/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()