ใน Python 2.5 โค้ดต่อไปนี้ทำให้เกิดTypeError
:
>>> class X:
def a(self):
print "a"
>>> class Y(X):
def a(self):
super(Y,self).a()
print "b"
>>> c = Y()
>>> c.a()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in a
TypeError: super() argument 1 must be type, not classobj
ถ้าฉันแทนที่class X
ด้วยclass X(object)
มันจะทำงาน คำอธิบายสำหรับเรื่องนี้คืออะไร?