python return dict bug?

def to_dict(self):
    para = OrdererDict()
    para['dd'] = self.XXX
    ...
    return para

这样一个简单函数

para1 = obj.to_dict()

obj.some_change()

para2 = obj.to_dict()

居然para1改变得和para2一样了

不管是dict() 还是OrdererDict都这样

暂时用return copy.deepcopy(para) 给回避了

python 3.6.5 linux   之前没注意,还有这种问题.(幸亏测试得比较仔细)

猜你喜欢

转载自www.cnblogs.com/xuanmanstein/p/9077719.html