【发布时间】:2011-09-26 03:49:18
【问题描述】:
我编写了一小段代码,因为我仍在尝试找出使用 super() 的细节。为什么这个块会跑到这个TypeError?
a = SecondClass()
TypeError: __init__() takes exactly 2 arguments (1 given)
然后,SecondClass.meth() 函数应该打印字符串,但我显然在概念上遗漏了一些东西。
class FirstClass (object):
def __init__ (self, value):
self.value = value
print self.value
class SecondClass (FirstClass):
def meth (self):
super (FirstClass,self).__init__(value = "I am a strange string")
a = SecondClass()
a.meth()
【问题讨论】:
-
从子类方法调用超类构造函数是一个... 有趣的想法。
标签: python oop inheritance super