当我有这个类时,变量'value'是类变量。
当我运行这个命令时,
当我运行它们时,我得到值“10”和“20”。
class Hello:
value = 10
def __init__(self):
print 'init'
我有一个对象'h',我可以通过Hello.value和h.value获取相同的值'10'。
h = Hello()
print Hello.value
print h.value
当我运行这个命令时,
h.value = 20
当我运行它们时,我得到值“10”和“20”。
print Hello.value
print h.value
为什么会这样呢?
- Q1 : 为什么'print h.value'能够输出Hello.value的值,而不是报错?
- Q2 : h.value = 20是否引入了一个类似于'self.value = 20'的新变量?
- Q3 : 是否有一种方法可以防止创建实例变量(或防止运行代码'h.value = 20')?