我在python中有一个主要使用静态方法的类。这些静态方法将一些值分配给类变量,如下所示:
class A:
@staticmethod
def foo():
A.first = 20
@staticmethod
def foo2():
return A.first **2
在我的情况下, foo2
将始终在foo
之后运行。我的问题是我应该在类范围内将first
初始化为某个虚拟值,例如:
class A:
A.first = None
@staticmethod
def foo():
A.first = 20
@staticmethod
def foo2():
return A.first **2
注意::在unresolved attribute reference 'first' for class A
中访问first
时,IDE会警告foo2
。该警告是合理的,这就是为什么我正在考虑将first
初始化为虚拟占位符的原因。
这里的最佳做法是什么?