在Python中使用星号

Python编程语言在不同的上下文中同时使用*和**。在本文中,我们将了解如何使用这两种方法以及各自的有用方案。

作为中缀运算符

当*用作中缀运算符时,它基本上给出了数字的数学乘积。在下面的示例中,我们采用整数。浮点数和复数相乘并得到结果。

示例

# Integers
x = 20
y = 10
z = x * y
print(z,"\n")

# Floats
x1 = 2.5
y1 = 5.1
z1 = x1 * y1
print(z1,"\n")

# Complex Numbers
x2 = 4 + 5j
y2 = 5 + 4j
z2 = x2 * y2
print(z2,"\n")

输出结果

运行上面的代码给我们以下结果-

200
12.75
41j

我们还可以将其用作中缀运算符来扩展字符串。

示例

str = "Point-"
print(str * 4,"\n")
List = [4, 5, 6]
print(List * 3,"\n")
Tuple = (9, 8, 7)
print(Tuple * 2)

输出结果

运行上面的代码给我们以下结果-

Point-Point-Point-Point-
[4, 5, 6, 4, 5, 6, 4, 5, 6]
(9, 8, 7, 9, 8, 7)

作为前缀运算符

我们可以使用单个星号作为前缀。以下示例描述了如何使用它作为前缀的各种示例。

展开可迭代

像列表或元组这样的可迭代列表,只需在名称前加上星号即可进行扩展。

示例

week_days =['Mon','Tue','Wed','Thu','Fri']
print(week_days)

输出结果

运行上面的代码给我们以下结果-

Mon Tue Wed Thu Fri

取可变数量的参数

我们可以使用单个星号将可变数量的参数赋予函数。如以下程序所示。

示例

def many_sums(*args):
   res = 0
   # Iterating over the Python args tuple
   for x in args:
   res = res + x
   return res
print(many_sums(1, 2))
print(many_sums(11, 21, 30))
print(many_sums(5.5,0))

输出结果

运行上面的代码给我们以下结果-

3
62
5.5

使用**

双星号用于基于关键字的参数。在这里,参数作为字典而不是作为单个值传递。

示例

def join_keys(**kwargs):
   result = ""
   # Iterating over kwargs dictionary keys
   for arg in kwargs.keys():
   result += arg
   return result
def join_values(**kwargs):
   result = ""
   # Iterating over kwargs dictionary values
   for arg in kwargs.values():
   result += arg
   return result
print(join_keys(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))
print(join_values(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))

输出结果

运行上面的代码给我们以下结果-

day1day2day3day4
Mon-Tue-Wed-Thu-