What is the use of super(ClassName,self).
This question already has an answer here:
How does it differ from self.x=x ?
super() is only useful if you subclass:
class Foo(object):
def __init__(self, x):
self.x = x
class Bar(Foo):
def __init__(self, x):
super(Bar, self).__init__(x)
self.initial_status = False
is better than setting self.x = x in Bar 's __init__ .
The difference is that Bar doesn't need to care about the implementation of Foo .
If you choose to change Foo in a way which sets self.x = 2 * x , then you won't have to change Bar as well (which might even sit in a difference file - failure to see this is almost guaranteed).
In your example, there is no point to use super() as you don't subclass.
上一篇: Python的基本继承
