当我有这个类时,变量“值”是类变量。
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')?