я после двух образцов кодаPython: Поведение переменных класса и экземпляра
Пример 1:
class MyClass(object):
def __init__(self, key, value):
self._dict = self._dict.update({key:value})
m = MyClass('ten',10)
print m._dict
Выход:
AttributeError: 'MyClass' object has no attribute '_dict'
Пример2:
class MyClass(object):
_dict = {}
def __init__(self, key, value):
self._dict = self._dict.update({key:value})
m = MyClass('ten',10)
print m._dict
Выходной : None
Я очень удивлен поведением выше
Почему example2 успешно составленный только добавлением _dict = {} линия и линия настоящего в области видимости класса. тоже почему None
мощность? Я полагал, что переменные класса класса не имеют отношения к переменной экземпляра (special with self
)
Любое объяснение?