Python类变量是否在初始化第一个类实例之前初始化?

时间:2015-10-07 19:58:33

标签: python

我还不知道如何在需要时在Python文档中查找信息。如果有人能指出我处理类变量初始化的部分,我将不胜感激。 我想知道何时初始化类变量。

这是我感兴趣的,因为我编写了一个在类变量中保存单个数据库连接的类,所以我想确保在创建第一个类实例之前不会打开此连接。

我意识到我可以通过最初将连接设置为None然后在第一个实例初始化时在其 init 方法中初始化它来做到这一点,但这似乎比它应该更复杂。我对以下内容感到安全:

class DatabaseConnection:   
    connection = DB_API.makeConnection()
    ...

1 个答案:

答案 0 :(得分:6)

类定义的documentation表示,作为执行类定义的步骤之一:

  

然后执行该类的套件

(“套件”是代码块,即类定义的主体。)

因此,在定义类时,会立即执行类主体。