Basic misunderstanding on object creation
Thomas Rachel
nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915 at spamschutz.glglgl.de
Wed May 13 10:24:27 EDT 2015
Am 13.05.2015 um 15:25 schrieb andrew cooke:
>>>> class Foo:
> ... def __new__(cls, *args, **kargs):
> ... print('new', args, kargs)
> ... super().__new__(cls, *args, **kargs)
> new (1,) {}
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "<stdin>", line 4, in __new__
> TypeError: object() takes no parameters
object's __new__() dosn't take any parameters. So call it without arguments:
class Foo:
def __new__(cls, *args, **kargs):
print('new', args, kargs)
super().__new__(cls)
(at least if we know that we inherit from object. Might be that this one
doesn't work very good with multiple inheritance...)
Thomas
More information about the Python-list
mailing list