如何在python中定义引用同一类对象的类变量

Sam*_*rth 3 python java static class

以下是java代码.我需要知道python中的等效代码:

class A {
    public static A obj = new A();
}
Run Code Online (Sandbox Code Playgroud)

jam*_*lak 6

你不能在python类定义中这样做,因为在class:块结束之前尚未定义类.你必须在以下之后进行设置:

class A(object): 
    pass    
A.obj = A()
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您通常不会在Python中执行此操作.在Java中执行此操作的原因是您导入类而不是文件,因此将类的"默认"实例保持为该类本身的静态成员是有意义的.在Python中,您可以导入模块,实例可以存在于类之外,因此将类的默认实例作为定义类的模块的模块级变量是有意义的. (9认同)