
正文
python函数传参拆包 python中函数参数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
[小白自学python]如何理解与应用装包与解包?
您说python函数传参拆包的装包是用元组python函数传参拆包,解包是用比如a, b, c = test_list (假设test_list为[1, 2, 3])
相关问答
Q1: Python元组拆包
什么叫元组拆包?
将元组内的元素,依次分配赋值给变量。
拆包有个要求,元组中的元素数量必须跟接受这些元素的空挡数一致,否则会报错:
这样就只获取到部分数据了,这在取函数返回值时特别有用,比如:
当返回值特别多时,_占位符写起来麻烦,可以用*来处理剩下的元素
*c是个列表,如果没有足够的值,就会返回一个空列表
*前缀变量能放在任意位置
*还有一个作用,把元组拆开作为函数参数,经典写法*args就是这个道理
嵌套元组是指元组中有元组,比如(1, 2, 3, (4, 5)),对于嵌套元组,你可能会想要拆两遍:
实际上能一步到位:
元组拆包提供了语法糖,对于交换两个变量的值的常规写法:
优雅写法
Q2: Python 的函数是怎么传递参数的
Python 的函数传递参数:
Python 传参数可以理解为 C 的 const 指针(your_type* const your_variable),它所指向的对象可以被修改产生副作用,但变量本身不能修改指向其他对象。这个和 C++ 的 reference 差不多。
所以如果一定要产生 C 的修改指针指向其他对象的效果,用 list、dict 或其他自定义的 mutable 对象包装是一个办法,但我认为这样是一种不良实践。在 C 语言中用参数输出结果有非常多的理由:
C 语言没有 tuple,不能返回多值,除非声明一个 struct 类型。这种情况下划分 in 参数和 out 参数成为一种惯例
C 语言没有异常机制,返回值一般要保留给 errno
但这些情况在 Python 中都是不存在的
关于python函数传参拆包和python中函数参数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





