python中值传递还是引用

# encoding=utf-8

_list = []
_dict = {'a': 1, 'b': 2}

# test
_list.append(_dict)
print 'before change for list:', _list
_dict.update({'a': 100})
print 'after change for list:', _list
print '*'*10
# 说明对于可变对象list,是传的应用ref;会随着改变。


# 不可变对象,是传的值
_r_list = [1, 2]
_tuple = tuple(_r_list)
print 'before change for tuple:', _tuple
_r_list.append(3)
print 'after change for tuple:', _tuple


# 理解如下
_dict = {'a': -1}
_list = []
for i in range(3):
    _dict.update({'a': i})
    _list.append(_dict)

print 'result:', _list
# result: [{'a': 2}, {'a': 2}, {'a': 2}]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容