rank vote url
26 568 149 609 url

类里的静态变量

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


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

  1. >>> class MyClass:
  2. ... i = 3
  3. ...
  4. >>> MyClass.i
  5. 3

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

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

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

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

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

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

原文: https://taizilongxu.gitbooks.io/stackoverflow-about-python/content/26/README.html