Python里参数是值传递还是引用传递?( 三 )


需要注意的是,这里的赋值或对象的引用传递,不是指向一个具体的内存地址,而是指向一个具体的对象 。
1、如果对象是可变的,当其改变时,所有指向这个对象的变量都会改变 。
2、如果对象不可变,简单的赋值只能改变其中一个变量的值,其余变量则不受影响 。
清楚了这一点,如果你想通过一个函数来改变某个变量的值,通常有两种方法 。一种是直接将可变数据类型(比如列表,字典,集合)当作参数传入,直接在其上修改;第二种则是创建一个新变量,来保存修改后的值,然后将其返回给原变量 。在实际工作中,我们更倾向于使用后者,因为其表达清晰明了,不易出错 。

【Python里参数是值传递还是引用传递?】


推荐阅读