1.python中的赋值过程
python赋值语句a = XXX,实际上就是a保存了XXX的存储地址。
python对象类型:
不可变类型对象:整数、小数、复数、字符串、元组
可变类型:列表、字典、集合
不可变类型对象
更改不可变类型对象会改变数据存储的地址,例如:

输出结果:

由此可见,改变前后a的地址发生了改变,而b所指向的地址没有发生改变。
可变类型对象
更改可变类型对象不会改变数据存储的地址,例如:

输出结果:

由此可见,li的地址没有发生改变,但是li的第一个元素的地址发生了改变。
2.python中函数的传递参数过程
函数的参数传递过程分为两种情况:
传值:形参和实参分配不同的内存地址,在调用时将实参的值传给实参,在这种情况下,在函数内修改形参并不会影响到实参。
传引用:实参的地址传递给形参的过程,函数内修改会直接导致实参发生变化。
传值
传递的参数为不可变类型对象,则传递的过程为传值。

输出结果:

传引用
传递的参数为可变类型对象,则传递的过程为传引用。

输出结果:

python中函数的参数传递过程,实际上就是实参赋值给形参的过程。
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。
python赋值语句a = XXX,实际上就是a保存了XXX的存储地址。
python对象类型:
不可变类型对象:整数、小数、复数、字符串、元组
可变类型:列表、字典、集合
不可变类型对象
更改不可变类型对象会改变数据存储的地址,例如:

输出结果:

由此可见,改变前后a的地址发生了改变,而b所指向的地址没有发生改变。
可变类型对象
更改可变类型对象不会改变数据存储的地址,例如:

输出结果:

由此可见,li的地址没有发生改变,但是li的第一个元素的地址发生了改变。
2.python中函数的传递参数过程
函数的参数传递过程分为两种情况:
传值:形参和实参分配不同的内存地址,在调用时将实参的值传给实参,在这种情况下,在函数内修改形参并不会影响到实参。
传引用:实参的地址传递给形参的过程,函数内修改会直接导致实参发生变化。
传值
传递的参数为不可变类型对象,则传递的过程为传值。

输出结果:

传引用
传递的参数为可变类型对象,则传递的过程为传引用。

输出结果:

python中函数的参数传递过程,实际上就是实参赋值给形参的过程。
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。