我们经常可以看见在python函数当中参数前面会加上一个*号,那这代表什么意思呢?主要有以下两个作用,下面我将逐一解析。
一、在函数定义当中使用
当在函数定义当中使用时,它通常用于指定一个位置的参数接收多个位置的参数。这些参数将被用于打包成一个元组,然后传递给函数的参数。如:
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3)
在上面的示例当中,*args接收了传递给函数的所有位置参数,并将它们打包成一个元组(1, 2, 3)。
二、在函数调用当中使用
当在函数调用当中使用*号时,它通常用于将可迭代对象的元素解包为单独位置的参数,然后将这些位置参数传递给函数,例如:
def add(a, b):
return a + b
numbers = (2, 3)
result = add(*numbers)
在上面的示例当中,*将numbers元组当中的元素解包为两个位置参数2和3,然后将它们传递给add函数,得到结果5。
三、总结
总之,*
在Python中用于参数传递中的两种不同方式:在函数定义中用于接收可变位置参数,以及在函数调用中用于解包可迭代对象并将其传递给函数。