📜  Python – 星号或星号运算符( * )

📅  最后修改于: 2022-05-13 01:55:22.695000             🧑  作者: Mango

Python – 星号或星号运算符( * )

您会在很多地方看到 * 和 ** 在Python中使用。许多Python程序员即使是中级水平,也经常对Python中的星号 (*)字符感到困惑。

学习完本文,您将对Python中的星号( * )运算符有一个深入的了解,并在此过程中成为一个更好的编码员!

以下是星号 ( * )运算符在Python中的各种用途:

  • 乘法:
    在乘法中,我们使用星号/星号运算符将两个数字相乘作为中缀运算符。
Python3
# using asterisk
mul = 5 * 7
print (mul)


Python3
a = 5
b = 3
  
# using asterisk
result = a ** b
print(result)


Python3
# using asterisk
list = ['geeks '] * 3
  
print(list)


Python3
arr = ['sunday', 'monday', 'tuesday', 'wednesday']
  
# without using asterisk
print(' '.join(map(str,arr))) 
  
# using asterisk
print (*arr)


Python3
# using asterisk
def addition(*args):
  return sum(args)
  
print(addition(5, 10, 20, 6))


Python3
# using asterisk
def food(**kwargs):
  for items in kwargs:
    print(f"{kwargs[items]} is a {items}")
      
      
food(fruit = 'cherry', vegetable = 'potato', boy = 'srikrishna')


Python3
# using asterisk
def food(**kwargs):
  for items in kwargs:
    print(f"{kwargs[items]} is a {items}")
      
      
dict = {'fruit' : 'cherry', 'vegetable' : 'potato', 'boy' : 'srikrishna'}
# using asterisk
food(**dict)


输出:

35
  • 求幂:
    使用 two(**) Start Operator 我们可以获得任何整数值的指数值。

蟒蛇3

a = 5
b = 3
  
# using asterisk
result = a ** b
print(result)

输出:

125
  • 列表的乘法:
    在' * '的帮助下,我们可以将列表的元素相乘,它将代码转换为单行。

蟒蛇3

# using asterisk
list = ['geeks '] * 3
  
print(list)

输出:

['geeks ', 'geeks ', 'geeks ']
  • 使用位置参数解包函数。
    这种方法在以原始格式(没有任何逗号和括号)打印数据时非常有用。许多程序员试图通过使用函数的卷积来删除逗号和括号,因此这个简单的前缀星号可以解决您在解包时遇到的问题。  

蟒蛇3

arr = ['sunday', 'monday', 'tuesday', 'wednesday']
  
# without using asterisk
print(' '.join(map(str,arr))) 
  
# using asterisk
print (*arr)

输出:

sunday monday tuesday wednesday
sunday monday tuesday wednesday
  • 使用任意数量的位置参数传递函数
    这里的单个星号( * ) 也用于*args 。它用于向函数传递可变数量的参数,主要用于传递非键参数和可变长度参数列表。
    它有很多用途,下面说明了一个这样的例子,我们制作了一个加法函数,它接受任意数量的参数,并能够使用*args将它们全部加在一起。

蟒蛇3

# using asterisk
def addition(*args):
  return sum(args)
  
print(addition(5, 10, 20, 6))

输出:

41
  • 使用任意数量的位置参数传递函数
    这里双星号( ** ) 也用作**kwargs ,双星号允许传递关键字参数。这个特殊符号用于传递关键字参数和变长参数列表。它有很多用途,一个这样的例子如下图所示

蟒蛇3

# using asterisk
def food(**kwargs):
  for items in kwargs:
    print(f"{kwargs[items]} is a {items}")
      
      
food(fruit = 'cherry', vegetable = 'potato', boy = 'srikrishna')

输出:

cherry is a fruit
potato is a vegetable
srikrishna is a boy

另一个使用**kwargs的例子,可以更好地理解。

蟒蛇3

# using asterisk
def food(**kwargs):
  for items in kwargs:
    print(f"{kwargs[items]} is a {items}")
      
      
dict = {'fruit' : 'cherry', 'vegetable' : 'potato', 'boy' : 'srikrishna'}
# using asterisk
food(**dict)

输出:

cherry is a fruit
potato is a vegetable
srikrishna is a boy