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-