所有的变量都可以理解是内存中一个对象的“引用”,在python中,对象分为可变对象和不可变对象。可变对象为列表、字典类型;不可变对象为数字、字符串、元组类型。
如果,当一个引用传递给一个函数时,函数自动复制一份引用,这个函数内的引用与传递进来的函数引用没有任何关系。所以,如果引用指向对象是个不可变对象的话,无论怎么在传递进来的函数里改变,该对象都不会改变;如果是引用指向的对象是个可变对象的话,在函数里增加、减少等等改变,都会改变对象。如下图程序所示,
此时的x是一个不可变的对象
本文出自 “一颗正在成长的小树” 博客,请务必保留此出处http://growing2015.blog.51cto.com/12006344/1913587
原文:http://growing2015.blog.51cto.com/12006344/1913587