Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 调用祖先函数_Python - Fatal编程技术网

Python 调用祖先函数

Python 调用祖先函数,python,Python,我调用祖先init函数,但它不调用祖先函数set_param(),它调用descadent函数。这意味着在我的脚本中,父变量self.a未初始化。你能给我解释一下吗?多谢各位 class father (object): def __init__(self): self.set_param() def set_param(self): self.a = 'father' # isn't initialized class son (fathe

我调用祖先init函数,但它不调用祖先函数set_param(),它调用descadent函数。这意味着在我的脚本中,父变量self.a未初始化。你能给我解释一下吗?多谢各位

 class father (object):
    def __init__(self):
        self.set_param()

    def set_param(self):
        self.a = 'father' # isn't initialized

class son (father):
    def __init__(self):
        father.__init__(self)
        self.set_param()

    def set_param(self):
        self.b = 'son'

person = son()

self.set\u param()
被调用两次,分别来自
son.\uu init\uuu
father.\uu init\uu
,但两次都调用
son.set\u param
,因为
类型(self)
在这两种情况下都是
son
father.set_param
从未被调用。

仅名称就表明您滥用了继承。儿子不是一种父亲。我希望OP使用的是“父类”和“子类”这两个词,它们是相当常见的术语。类名应该遵循
CamelCase
风格。顺便说一句,Python不是java,你不需要所有的getter和setter函数?b) 为什么父函数可以调用子函数?它的意思是:为什么父。初始化子。设置参数()?