作为乘法或者是乘幂运算符

print(2 * 2)  # 4
print(2 ** 3)  # 8

作为基础的Python应用,乘法运算和乘幂运算是大家最容易想到的星号作用。上述程序中,单个星号运算符起到了乘法运算的目的,而连续的两个乘号起到了乘幂运算的目的。从结果可以看出,2 * 2的结果是4,而23次方是8

接受多个参数

当我们在编写函数时,有时候函数的参数数量太多,所以我们想尽量的缩短程序,让程序看起来简介,除此之外,我们可能不知道函数有多少个具体的参数,这个时候,就可以用星号来发挥作用

def test_1(*args):
    print(args)

def test_2(**kwargs):
    print(kwargs)

test_1(1, 2, 3)  # (1, 2, 3)
test_2(a=1, b=2)  # {'a': 1, 'b': 2}

单个星号起到的作用是帮助我们捕获多个位置参数,然后将其放入到字典中,需要注意的是,在传入参数时,它的顺序位置需要明确,以方便在函数调用中使用。而对于双星号的参数,可以帮助我们捕获多个带关键字名字的参数,并放入到字典中去,这样的话,我们在程序内使用的时候,可以根据关键字名字来调用,而无需过多关注参数的顺序位置。

解包

可以利用星号来实现可迭代对象的解压

list_data = [1, 2, 3]
tuple_data = (4, 5)
str_data = "78"

print([*list_data, *tuple_data, *str_data])  # [1, 2, 3, 4, 5, "7", "8"]

压缩

list_data = [1, 2, 3, 4]
a, b, c, d = list_data

print(a, b, c, d)  # 1 2 3 4

a, b, *c = list_data

print(a, b, c)  # 1 2 [3, 4]

当我们从可迭代对象中取值,例如上例中abcdlist_data中的元素是一一对应的关系,既不能多也不能少,而当我们只想取出某一部分的元素时,就可以利用星号来进行剩余部分元素的一个压缩。

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:https://www.ltfred.com/article/python-xingxing/