类里的静态变量

优质
小牛编辑
128浏览
2023-12-01
rankvoteurl
26568149609url

类里的静态变量

有可能在python中类有静态变量或方法?用什么语法实现?


变量是在类定义时声明的,不是在类方法或静态变量中:

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

上面的"i"变量是类级别的,所以它是和所有实体级的"i"变量是不一样的,你可以:

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

这与C++和Java不一样,但是和C#相同,那就是静态成员不能被实例所引用.

看一下Python教程中关于类和类对象的主题

在这里李四已经回答了静态方法,官方文档内建函数中也提到了.

class C:
    @staticmethod
    def f(arg1, arg2, ...): ...