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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP