这是我的程序结构:
class parent(object):
def __init__(self): pass
def __post_init_stuff(self):
#post initialization stuff
class child(parent):
def __init__(self):
#dostuff
self.__post_init_stuff()
def otherfunc(classname, args):
classname(args)
otherfunc(child)
我遇到的问题是,当otherstuff(child)
执行时,我收到此错误:
AttributeError: 'child' object has no attribute '_child__post_init_stuff'
有什么建议吗?
答案 0 :(得分:0)
在Python中以__
开头的名称与C ++中的protected
类似。您可以仅使用一个下划线命名,或者将其作为self._parent__post_init_func
访问,因为这是其范围内的错位名称。我推荐第一件事,因为这是丑陋和黑客。