python中*的用法

在python中,很多情况下会用到*,下面举一些例子来说明*的用法

1.数字计算中,*代表乘法,**代表求幂

print('2乘以3值为:%s'%(2*3))
print('2的3次方值为:%s'%(2**3))

2.在函数中,使用*args定义可变参数,**kwargs定义可变关键字参数。可变参数允许传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。关键字参数允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict

def foo(*args):
    print('可变参数')
    print(args)

def bar(**kwargs):
    print('关键字参数')
    print(kwargs)

foo(1,2,3)
bar(name='lary',age=18)

3.函数调用时解包参数

numbers = [1,2,3,4,5]
print(numbers)
print('------')
print(*numbers)

4.可迭代对象的解包

#获取第一个元素和最后一个元素
numbers = [1,2,3,4,5]
first_number,*nums,last_number = numbers
print(first_number,last_number)

#获取第一个元素的最后一个字符,可以进行多步解包
animals = ['dog','cat','monkey','horse']
(*a1,a2),*an = animals
print(a2)