Метод dict.get () возвращает указатель

Допустим, у меня есть этот код:

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})

, но это не так. кажется, хороший способ сделать это. Есть какие-нибудь идеи, комментарии?

15
задан Remi 30 September 2011 в 02:58
поделиться