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-

更新于: 2020年2月4日

207 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告