Skip to content

在Python中,星号(*)有多种用途,根据上下文的不同,它可以表示不同的功能。这里列举了一些常见的用法:

  • 乘法运算符: 作为乘法运算符,星号用于两个数字之间,表示它们的乘积。
py
result = 3 * 4  # 结果是 12
  • 幂运算 :两个星号(**)一起使用表示幂运算。
py
result = 2 ** 3  # 结果是 8,相当于 2 的 3 次方
  • 列表、元组和字符串的重复:星号可以用于列表、元组或字符串和一个整数,表示重复多次。
py
repeated_list = [1, 2] * 3  # 结果是 [1, 2, 1, 2, 1, 2]
repeated_tuple = ('darwish', 22) * 3 # 结果是 ('darwish', 22, 'darwish', 22, 'darwish', 22)
repeated_str = 'abc' * 3    # 结果是 'abcabcabc'
  • 参数解包: 在函数调用时,星号用于列表、元组或其他可迭代对象前面,表示将其解包为函数的位置参数。
py
def sum(a, b, c):
  return a + b + c
numbers = [1, 2, 3]
result = sum(*numbers)  # 相当于调用 sum(1, 2, 3)
  • 参数打包: 在定义函数时,一个星号用于参数名前,表示该函数可以接收任意数量的位置参数,这些参数被封装成一个元组。
py
def sum(*numbers): #相当于 sum([1, 2, 3])
  ans = 0
  for num in numbers:
    ans += num
  return ans
print(sum(1, 2, 3)) # 结果是 6
  • 使用两个星号定义函数参数,表示可变数量的关键字参数:两个星号用于参数名前,表示该函数可以接收任意数量的关键字参数,这些参数被封装成一个字典。
py
def func(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")
func(a=1, b=2)  # 输出 a: 1, b: 2