Python TypeError:list()为list类继承最多接受1个参数(给定3个)
我在stackoverflow中搜索了其他帖子,甚至复制了它们,以便在我的机器上试用。但是,它一直无法抛出Python TypeError:list()为list类继承最多接受1个参数(给定3个),python,Python,我在stackoverflow中搜索了其他帖子,甚至复制了它们,以便在我的机器上试用。但是,它一直无法抛出“TypeError” 我还试着用pass空课。但是,如果我继承了,我想我错过了一些东西,而不是添加了更多或错误的东西,那么这也失败了 1) 这是什么?为什么? 2) 如何修复它 关于TypeError的进一步快照: >>> class ListClass(list): ... pass ... Traceback (most recent call last):
“TypeError”
我还试着用pass空课。但是,如果我继承了,我想我错过了一些东西,而不是添加了更多或错误的东西,那么这也失败了
1) 这是什么?为什么?
2) 如何修复它
关于TypeError的进一步快照:
>>> class ListClass(list):
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: list() takes at most 1 argument (3 given)
类列表类(列表):
... 通过
...
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:list()最多接受1个参数(给定3个)
当您创建ListClass对象时,会将它交给许多参数,这就是您要做的:
s = list(2,3,3)
这就是你要做的:
s = list([2,3,3])
请在解释器上尝试此代码段。将参数元组
args
传递给实例的扩展:
>>> class ListClass(list):
... def __init__(self, *args):
... super().__init__()
... self.extend(args)
... self.append('a')
... self.name = 'test'
...
>>> ListClass(1, 2, 3)
[1, 2, 3, 'a']
或者将args的解包元组
传递给super
的\uuuu init\uuuu
,因为列表
可以用iterable
初始化
>>> class ListClass(list):
... def __init__(self, *args):
... super().__init__(args) # one argument: tuple
... self.append('a')
... self.name = 'test'
...
>>> ListClass(1, 2, 3)
[1, 2, 3, 'a']
更新:
您可能会将一个对象指定给名称列表
:
>>> list = []
>>> class ListClass(list):
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: list() takes at most 1 argument (3 given)
>>列表=[]
>>>类列表类(列表):
... 通过
...
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:list()最多接受1个参数(给定3个)
停止尝试将所有这些参数传递给列表()
。将这三个参数放在一组(另一组)括号中进行修复,就像创建一个简单的列表一样。能否向ListClass
添加一个调用,以便我们能够更深入地了解您无法实现的目标?我尝试了您的代码(复制并粘贴)但没有运气。我猜它在您的机器上工作,但是,我的机器(使用python 3.4)始终出现相同的类型错误。不确定有什么区别。我在python 3.4上执行了此操作。重新启动您的终端。您已将列表对象分配给列表
。请参阅更新。但是列表()
?[1,2,3]的意义何在
本身使我成为一个列表,所以我希望list(1,2,3)
是这个列表的“正式”版本。list([1,2,3])
只是多余的。
>>> list = []
>>> class ListClass(list):
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: list() takes at most 1 argument (3 given)