【发布时间】:2019-07-17 14:36:24
【问题描述】:
有这个类:
class A(frozenset):
def __init__(self, *args):
frozenset.__init__(self, *args)
执行A(range(2))会导致以下错误:
Traceback (most recent call last):
File "<pyshell#65>", line 1, in <module>
A(range(2))
File "<pyshell#60>", line 3, in __init__
frozenset.__init__(self, *args)
TypeError: object.__init__() takes no parameters
同时,frozenset(range(2)) 有效,如果我从 set 继承 A,A(range(2)) 也有效。
如果我将 0 个或多个参数传递给 A 的构造函数,它会正常工作(0 个参数创建一个空集,2 个或更多参数引发 TypeError: A expected at most 1 arguments, got 2)。
【问题讨论】:
标签: python class inheritance constructor frozenset