都是原处修改对象,为什么第一个不行?

import shelve

db = shelve.open('persondb1')
for key in sorted(db):
    print(key,'\t=>', db[key])

db['Sue Jones'].giveRaise(.10)

db.close()

以上不能修改原处的数据
但是下面能修改

import shelve

db = shelve.open('persondb1')
for key in sorted(db):
    print(key,'\t=>', db[key])
sue = db['Sue Jones']
sue.giveRaise(.10)
db['Sue Jones'] = sue
db.close()

https://blog.csdn.net/weixin_43493636/article/details/84100903