Когда у меня есть этот класс, переменная 'value' является переменной класса.
class Hello:
value = 10
def __init__(self):
print 'init'
У меня есть объект 'h', и я могу получить одинаковое значение '10' как для Hello.value, так и для h.value.
h = Hello()
print Hello.value
print h.value
Когда я запускаю эту команду,
h.value = 20
Я получаю значения '10' и '20', когда запускаю их.
print Hello.value
print h.value
Почему это?
- В1: Почему «print h.value» печатает значение Hello.value, а не вызывает ошибку?
- Q2: h.value = 20 вводит новую переменную, похожую на 'self.value = 20'?
- В3: Есть ли способ предотвратить создание переменной экземпляра (или запретить запуск кода 'h.value = 20')?