重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两
成都创新互联公司主要从事网站制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务双辽,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
种:值传递和引用传递。
推荐:Python教程
值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放
进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函
数的实参变量的值。
引用传递(pass-by-reference)过程中,被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函
数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正
因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。
更多技术请关注Python视频教程。
什么叫元组拆包?
将元组内的元素,依次分配赋值给变量。
拆包有个要求,元组中的元素数量必须跟接受这些元素的空挡数一致,否则会报错:
这样就只获取到部分数据了,这在取函数返回值时特别有用,比如:
当返回值特别多时,_占位符写起来麻烦,可以用*来处理剩下的元素
*c是个列表,如果没有足够的值,就会返回一个空列表
*前缀变量能放在任意位置
*还有一个作用,把元组拆开作为函数参数,经典写法*args就是这个道理
嵌套元组是指元组中有元组,比如(1, 2, 3, (4, 5)),对于嵌套元组,你可能会想要拆两遍:
实际上能一步到位:
元组拆包提供了语法糖,对于交换两个变量的值的常规写法:
优雅写法
您说的装包是用元组,解包是用比如a, b, c = test_list (假设test_list为[1, 2, 3])