前言
在Python中星号(*)除了作乘法运算,还有什么其他用法呢?在变量前加一个星号和两个星号有什么区别呢?什么是打包和拆包呢?
提示:本文参考了Python中的星号:运算和参数传递
一、星号变量
当函数中传入的参数个数不确定时,考虑在形参变量前加上星号,而对于加一个星号和两个星号的区别在于:*args传入的参数为非关键字参数,本质上是元祖
*kwargs传入的参数为关键字参数,本质上是字典
二、打包和拆包
对函数传递的参数进行打包指的是将传递给函数的元素打包成元祖或字典,而拆包则是将传递给函数的一个列表,元祖或字典拆解为多个独立的元素
1.打包
单星号(打包成元祖)
代码如下(示例):
def fun_1(a, *b):
print(a)
print(b)
fun_1(1, 2, 3, 4)
结果展示:
1
(2, 3, 4)
双星号(打包成字典)
代码如下(示例):
def fun_1(value1, **b):
print(value1)
# print(a)
print(b)
fun_1(1

本文详细介绍了Python中星号(*)的多种用途,包括作为乘法运算符、用于函数参数的打包与拆包等。文章通过实例展示了如何使用单星号和双星号来处理不定数量的参数,并解释了它们在函数定义与调用过程中的作用。

506

被折叠的 条评论
为什么被折叠?



