我在互联网的某个地方找到了这段代码:
class Superclass(object):
def __init__(self):
print ('SuperClass: Do something')
class Subclass(Superclass):
def __init__(self):
super(Subclass, self).__init__()
print ('SubClass: Do something else')
test = Subclass()
因此,在我看来,'类Superclass(object)'中的'object'是不必要的。好吧,我可以删除它,程序运行正常。
我们可以在Python的观察者模式中看到相同的例子:
http://en.wikipedia.org/wiki/Observer_pattern
你能评论这个'对象'是什么以及它的用途。
答案 0 :(得分:1)
在Python2中,声明一个派生自object
的类是制作类a new-style class所必需的。否则,它是一个经典的课程。 super
仅适用于新式类,因此在Python2中,Superclass
必须从object
派生,才能使super
中的Subclass
调用生效。
在Python3中,所有类都是新式的。因此,使用object
是不必要的。