consequences of not calling object.__init__?
Steven Bethard
steven.bethard at gmail.com
Tue Dec 28 13:41:09 EST 2004
So when I'm writing a class and I define an __init__ method, I sometimes
haven't called object.__init__, e.g.:
class C(object):
def __init__(self, x):
self.x = x
instead of
class C(object):
def __init__(self, x):
super(C, self).__init__()
self.x = x
Looking at:
http://www.python.org/2.2.3/descrintro.html#__new__
"The built-in type 'object' has a dummy __new__ and a dummy __init__"
seems to suggest that the super call here is unnecessary. It's also not
made in the Super class example from that document:
http://www.python.org/2.2.3/descrintro.html#superexample
I'm trying to get in the habit of calling super in all __init__ methods,
but it seems like it's unnecessary when the only superclass is object.
Assuming that the base class of C doesn't get changed from object, are
there consequences of not making this call?
Steve
More information about the Python-list
mailing list