Python 2.5에서 다음 코드는 a를 발생시킵니다 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)
, 그것은 작동합니다. 이것에 대한 설명은 무엇입니까?
3
귀하의 "그러나 나는 클래스 X를 클래스 X (객체)로 대체"하여 내 문제를 해결했습니다! 고맙습니다
—
AliBZ 2013 년