【发布时间】:2016-11-04 12:10:56
【问题描述】:
在 Python 中,我可以在类中使用 ClassName.class_var 或 self.class_var 来引用类级别变量。现在,只要我不通过创建同名的实例变量来覆盖对象内的类级别变量名称(我觉得这有点傻),它们将始终引用相同的东西。
我的问题是,哪种做法更好?还是更常见?
我看到编码书籍和源代码本身使用任何一种方式。在某些情况下,我看到他们使用 BOTH 方法来引用同一类中的变量,我认为这确实是不一致的。
这里我举个例子:
class Foo(object) :
class_var = ['same','for','all']
def __init__(self, instance_var) :
self.instance_var = instance_var
def print_words(self) :
# here I could use self.class_var
for w in Foo.class_var :
print w
【问题讨论】: