我很难弄清楚我遇到的一些代码的用途。
该代码有一个类 Foo
,它有一个 __init__
多个参数的方法。到目前为止,根据我对 Python 的了解,通过调用 Foo('bar')
,它将把这个字符串作为参数传递给 __init__
(我认为这应该等同于构造函数).
但我遇到的问题是我正在查看的代码正在直接调用 Foo.__init__('bar')
。这样做的目的是什么?我几乎觉得我错过了 __init__
背后的一些其他目的。
原文由 Ari 发布,翻译遵循 CC BY-SA 4.0 许可协议
__init__()
方法在你实例化一个类时被调用。但是,父类中的__init__()
方法不会被自动调用,所以如果你想扩展它的功能需要你直接调用它:注意,上面的调用也可以使用 super 编写:
__init__()
方法的 目的 是初始化类。它通常负责填充实例变量。因此,您希望为类层次结构中的所有类调用__init__()
。