rank | vote | view | answer | url |
---|---|---|---|---|
47 | 1561 | 970000 | 16 | url |
Python 中类的静态变量
在 Python 中如何实现类的静态变量或者方法
在类定义中声明且在方法里未声明的是类的静态变量
>>> class MyClass:
... i = 3
...
>>> MyClass.i
3
这样做会生成一个类级别的 i
变量, 而不是依赖于某个实例的 i
变量, 所以你可以:
>>> m = MyClass()
>>> m.i = 4
>>> MyClass.i, m.i
>>> (3, 4)
和 C++ 和 Java 不一样, 这种静态变量不能通过实例来访问有点像 C#.
可以看一看 what the Python tutorial has to say on the subject of classes and class objects
static methods 的相关文档 "Built-in Functions" in the Python Library Reference
class C:
@staticmethod
def f(arg1, arg2, ...): ...
有人提到使用 classmethod 作为静态方法, 它接受类的类型作为第一个参数, 但是我依然对这种方法的有点疑问, 如果你也是, 那可能没什么关系