谁能用正确的语法帮助我从父类中调用方法__get_except_lines(...)

我有一个带有如下所示方法的类。此特定方法有2个下划线,因为我不希望“用户”使用它。

NewPdb(object)
    myvar = ...
    ...
    def __init__(self):
        ...
    def __get_except_lines(self,...):
        ...


在一个单独的文件中,我有另一个从该类继承的类。

from new_pdb import NewPdb

    PdbLig(NewPdb):
        def __init__(self):
            ....
            self.cont = NewPdb.myvar
            self.cont2 = NewPdb.__get_except_lines(...)


而且我得到一个属性错误,这确实使我感到困惑:

AttributeError: type object 'NewPdb' has no attribute '_PdbLig__get_except_lines'

最佳答案

您的问题是由于私有变量(http://docs.python.org/2/tutorial/classes.html#private-variables-and-class-local-references)的Python名称处理。您应该写:

NewPdb._NewPdb__get_except_lines(...)

关于python - 在Python中从父类调用方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17709040/

10-09 20:15