繁体   English   中英

Python奇怪的超级声明:多重自我

[英]python strange super declaration : multiple self

有人可以给我解释一下configobj.py中第1190行中的这一奇怪行:

Section.__init__(self, self, 0, self)

我不了解这种自我多元化的含义。

谢谢

让我们看一下Section__init__

def __init__(self, parent, depth, main, indict=None, name=None):

由于某种原因,该代码的作者决定将self多次传递给Section__init__ 我没有详细研究代码,但这通常意味着可以构造对象,而在其他情况下,这些参数将有所不同(即,它们不会每次都是self )。

因此,对于此特定调用,以self表示的对象扮演着各种角色,这就是为什么该对象多次传递给父类的__init__ 因此,要了解为什么多次传递self ,您需要查看参数的目的,并了解在这种情况下它们为何相同。 可以想象,将创建实例,在这些实例中参数是不同的,因为这些“角色”然后由不同的对象而不是全部由同一对象处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM