python值传递和引用传递的作用是什么?
作为一种编程语言,Python也有很多变量和类型,正是因为这些特点,它才比较灵活。后面我们在写代码的时候,会遇到各种传参的情况,其中就涉及到值的传递和引用传递,两者虽然差不多,但本质还是有很大区别的。本文介绍了值传递和引用传递的区别,请参阅以下内容:
引用是什么?
例如,我们在变量count中存储一个值。对于引用类型,变量存储实例对象的地址,即指向实例对象,这种类型的变量通常称为引用。
值传递:形参是实参的拷贝,改变形参的值不影响外部实参的值。从被调用函数的角度来看,价值传递是单向的。参数的值只能传入不能传出。当需要在函数内部修改参数并且预计更改不会影响调用者时,使用值传递。
指针传递:形参是指向实参地址的指针。指针对形参进行操作时,相当于对实参本身进行操作。
引用传递:形参相当于实参的“别名”。对形参的运算实际上就是对实参的运算。在按引用传递的过程中,被调用函数的形参也作为局部变量在栈中开辟内存。空间,但是此时存储的是调用函数放入的实参变量的地址。
任何对被调用函数的形参的操作都作为间接寻址处理,即通过栈中存储的地址访问调用函数中的实参变量。因此,被调用函数对形式参数执行的任何操作都会影响调用函数中的实际参数变量。
指针传递和引用传递的应用场景:
修改函数内部的参数,希望修改对调用者有影响。对比指针/引用传递可以将形参的变化“传递”到实参(其实是直接在实参的内存中修改,不像值传递,是将实参的值复制到另一个内存地址来修改)
另一种用法是:当一个函数实际需要返回多个值,但只能显式返回一个值时,可以将需要返回的变量作为指针/引用传递给函数,以便函数修改后返回,调用者可以获得修改后的变量,相当于隐式返回值传递。
相关推荐HOT
更多>>python并集是什么意思?
python并集是什么意思?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。以属于A或属于B的元素为元素的集合成为A与B的并集。1、概念...详情>>
2023-11-14 16:44:05python框架是什么
python框架是什么1、说明Python开发框架大大减少了开发者不必要的重复劳动,提高了项目开发效率的同时,还使得创建的程序更加稳定。2、框架类型...详情>>
2023-11-14 14:57:51pythonlstrip()截掉字符
python中lstrip()截掉字符说明1、lstrip()方法用于截掉字符串左边的空格或指定的字符。语法str.lstrip([chars])2、参数分为str、chars。str:原...详情>>
2023-11-14 07:58:15python删除文档的方法
python中删除文档的方法1、delete_one()方法删除文档。delete_one()需要一个查询对象参数。它只删除了第一次出现。2、在删除大量文档时,使用de...详情>>
2023-11-14 06:54:49