python 字典的=,copy赋值测试
代码:
aa = {'a1': 1, 'a2': 2, 'a3': 3, 'a4': 4}
bb = aa
print('=:\n%s\n%s\n' % (aa, bb))
aa.pop('a1')
print('%s\n%s\n' % (aa, bb))
bb.pop('a2')
print('%s\n%s\n' % (aa, bb))
bb = aa.copy()
print('copy:\n%s\n%s\n' % (aa, bb))
aa.pop('a3')
print('%s\n%s\n' % (aa, bb))
结果:
=:
{'a1': 1, 'a2': 2, 'a3': 3, 'a4': 4}
{'a1': 1, 'a2': 2, 'a3': 3, 'a4': 4}
{'a2': 2, 'a3': 3, 'a4': 4}
{'a2': 2, 'a3': 3, 'a4': 4}
{'a3': 3, 'a4': 4}
{'a3': 3, 'a4': 4}
copy:
{'a3': 3, 'a4': 4}
{'a3': 3, 'a4': 4}
{'a4': 4}
{'a3': 3, 'a4': 4}
Process finished with exit code 0
结论:
=直接赋值,改变变量值会影响到另一个变量值,
.copy()赋值,改变变量值不会影响到另一个变量值。