Допустим, у меня есть этот код:
my_dict = {}
default_value = {'surname': '', 'age': 0}
# get info about john, or a default dict
item = my_dict.get('john', default_value)
# edit the data
item[surname] = 'smith'
item[age] = 68
my_dict['john'] = item
Проблема становится ясной, если мы теперь проверим значение default_value:
>>> default_value
{'age': 68, 'surname': 'smith'}
Очевидно, что my_dict.get ( )
вернул не значение default_value, а указатель (?) На него.
Проблему можно было решить, изменив код на:
item = my_dict.get('john', {'surname': '', 'age': 0})
, но это не так. кажется, хороший способ сделать это. Есть какие-нибудь идеи, комментарии?