【发布时间】:2014-05-07 15:10:46
【问题描述】:
我有两个类大致采用以下形式:
class Foo:
def __init__(self, foo):
self.__foo = foo
class Bar(Foo):
def bar(self):
print self.__foo
当我尝试在 Bar 的实例上调用 bar 方法时,它失败了。
b = Bar('foobar')
b.bar()
结果:
Traceback (most recent call last):
File "foobar.py", line 14, in <module>
b.bar()
File "foobar.py", line 10, in bar
print self.__foo
AttributeError: Bar instance has no attribute '_Bar__foo'
【问题讨论】:
-
@MartijnPieters 链接到的问题肯定提供了一个兼容的答案,但我认为如果不先知道答案,我不会知道去哪里看!
-
别担心,我没想到你会这样。如果作为副本关闭,您的帖子将作为另一个问题的路标,以便将来搜索相同问题的任何人都可以更轻松地找到它。
-
@MartijnPieters 同意。这就是为什么它也得到了我的近距离投票。
标签: python inheritance