类构造函数抛出属性错误Python

时间:2014-10-07 22:23:28

标签: python

这是我的程序结构:

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'

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在Python中以__开头的名称与C ++中的protected类似。您可以仅使用一个下划线命名,或者将其作为self._parent__post_init_func访问,因为这是其范围内的错位名称。我推荐第一件事,因为这是丑陋和黑客。