Hi, The following code worked on Python 3.2, but no longer works in 3.4. Did something change, or have I always been doing something dumb?
(I realise the code is pointless as is - it's the simplest example I can give of a problem I am seeing with more complex code). >>> class Foo: ... def __new__(cls, *args, **kargs): ... print('new', args, kargs) ... super().__new__(cls, *args, **kargs) ... >>> class Bar(Foo): ... def __init__(self, a): ... print('init', a) ... >>> Bar(1) new (1,) {} Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 4, in __new__ TypeError: object() takes no parameters What I was expecting to happen (and what happens in 3.2) is that the object.__new__ method passes the argument to the __init__ of the subclass. Any help appreciated. Thanks, Andrew -- https://mail.python.org/mailman/listinfo/python-list