我正在尝试在另一个类中初始化一个继承类,但它不起作用,我不知道如何解决。
我读过here继承通常按照以下方式运作:
class Foo(object):
def __init__(self, text):
print text
class Bar(Foo):
def __init__(self, text):
super(Bar, self).__init__(text)
但是,如果我将Bar
- 类放入另一个类中,则代码将不再起作用。
class Whatever(object):
class Bar(Foo):
def __init__(self, text):
super(Bar, self).__init__(text)
def __init__(self, text):
test = self.Bar(text)
Python与命名空间混淆:
super(Bar, self).__init__(text)
NameError: global name 'Bar' is not defined
怎么办?谢谢!
答案 0 :(得分:1)
问题解决了。
您必须使用Bar
来引用Whatever.Bar
,所以它看起来像这样:
class Whatever(object):
class Bar(Foo):
def __init__(self, text):
super(Whatever.Bar, self).__init__(text)
def __init__(self, text):
test = self.Bar(text)