python中函数的传值和传引用

在python的函数中,传参不需要指定是否传引用,因为python的参数传递 是采用“传对象引用”这种方式相当于传值和传引用的结合版。

如果函数收到是一个可变对象的引用(例如:字典, 列表等等),就能修改对象的原始值  相当于“传引用”

如果函数收到的一个是不可变对象的引用(例如:数字,字符,,元祖等等),就不能直接修改原始对象的值 相当于“传值”

python一般内部赋值变量的话,都是传个引用变量,和C语言的传地址的概念差不多。可以用id()来查询内存地址

值传递类型如下:

上面的代码只是将a的值作为参数传递进去,程序执行完之后a的值并未改变

引用传递的类型如下:

而这里将b的地址传递进去之后,程序执行完之后b的值也随之改变。

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注