以下のように、スーパー メソッドを越えて親のメソッドを呼び出したときに、バインドされたメソッドの "self" 引数を無視できることを私は知っています。
class Foo(object):
def __init__(self):
super(Foo, self).__init__() # We needn't pass in the "self" argument
# ...
しかし、何かが__new__
方法で異なっていました:
class Bar(object):
def __new__(cls, *args, **kwargs):
return super(Bar, cls).__new__(cls, *args, **kwargs) # Why need a "cls" argument?