一尘不染

Python中可以使用静态类变量吗?

python class

Python中是否可以有静态类变量或方法?为此需要什么语法?


阅读 630

收藏
2020-02-05

共1个答案

一尘不染

在类定义内声明但在方法内声明的变量是类或静态变量:

>>> class MyClass:
...     i = 3
...
>>> MyClass.i
3 

正如@ millerdev指出的那样,这将创建一个类级别的i变量,但这不同于任何实例级别的i变量,因此你可以

>>> m = MyClass()
>>> m.i = 4
>>> MyClass.i, m.i
>>> (3, 4)

这与C ++和Java不同,但与C#并没有太大区别,在C#中,无法使用对实例的引用来访问静态成员。

2020-02-05