Python 中星号运算符的含义是什么?
Python 中的星号 (*) 运算符具有多种含义。我们可以将其用作乘法运算符、重复运算符、用于解包可迭代对象以及用作函数*args。
在函数声明中使用单个星号允许从调用环境传递可变数量的参数。在函数内部,它表现为一个元组。
作为乘法运算符
通常,星号 (*) 运算符用于乘法运算。对于数值数据,星号 (*) 用作乘法运算符。让我们举个例子,看看星号运算符如何在数值操作数上工作。
示例
a = 100 b = 29 result = a * b print("Output: ", result)
输出
Output: 2900
作为重复运算符
对于列表、字符串和元组等序列,星号运算符用作重复运算符。
示例
s = "Python" result = s * 3 print("Output for string sequence: ", result) l = [1, 'a', 3] l_result = l * 2 print("Output for list sequence: ", l_result) t = (1, 2, 3) t_result = t * 4 print("Output for tuple sequence: ", t_result)
输出
Output for string sequence: PythonPythonPython Output for list sequence: [1, 'a', 3, 1, 'a', 3] Output for tuple sequence: (1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3)
解包可迭代对象
调用函数时,星号运算符可以用作参数来解包参数可迭代对象。
示例
def foo(a, b, c): return(a, b, c) l = [1, 2, 3] print(' ',foo(*l))
输出
(1, 2, 3)
示例
使用星号 (*) 运算符解包列表可迭代对象。在发送 元组 和 字典 等可迭代对象作为参数时,情况也是如此。
def foo(a, b, c): return(a, b, c) t = (1, 4, 6) print('Output tuple unpacking: ',foo(*t)) d = {'a': 10, 'b': 20, 'c': 30} print('Output dictionary unpacking: ',foo(*d))
输出
Output tuple unpacking: (1, 4, 6) Output dictionary unpacking: ('a', 'b', 'c')
在调用函数时,使用星号 (*) 运算符也可以解包元组和字典等可迭代对象。
创建函数 *args(位置参数)
在定义函数时,使用单个星号 (*) 将可变数量的参数传递给函数。这实际上是在创建具有非关键字参数的函数。
示例
上面的示例定义为接受任意数量的值,并能够使用*args将它们全部加在一起。
def add_values(*args): return sum(args) print(add_values(1, 3, 4, 2)) print(add_values(10, 2, 4, 5, 6, 7, 8, 10))
输出
10 52
广告