我看到了以下Python文档,其中写道“在类中定义变量”将是类变量:
“程序员注意:在类定义中定义的变量是类变量;它们由所有实例共享。”
但是当我编写以下示例代码时:
class CustomizedMethods(object):
class_var1 = 'foo'
class_var2 = 'bar'
cm1 = CustomizedMethods()
cm2 = CustomizedMethods()
print cm1.class_var1, cm1.class_var2 #'foo bar'
print cm2.class_var1, cm2.class_var2 #'foo bar'
cm2.class_var1, cm2.class_var2 = 'bar','for'
print cm1.class_var1, cm1.class_var2 #'foo bar' #here not changed as my expectation
print cm2.class_var1, cm2.class_var2 #'bar foo' #here has changed but they seemed to become instance variables.
我感到困惑,因为我尝试的方法与Python官方文档不同。