一、位置参数、关键字参数、可变参数、默认参数的区别
1、位置参数
位置参数是指根据参数在函数定义中的位置进行匹配的参数。在调用函数时,必须按照函数定义的参数顺序依次传入相应的参数。例如:
def add(x, y):return x + yresult = add(2, 3)print(result) # 输出 5
在这个例子中,add()
函数有两个位置参数,分别是x
和y
。在调用add()
函数时,必须按照x
和y
的顺序依次传入相应的参数。如果参数的顺序不正确,会导致函数返回错误的结果。
2、关键字参数
关键字参数是指根据参数名进行匹配的参数。在调用函数时,可以通过指定参数名来传递参数,这样可以不按照参数的定义顺序传递参数,避免了因参数顺序不当而导致的错误。例如:
def add(x, y):return x + yresult = add(x=2, y=3)print(result) # 输出 5
在这个例子中,add()
函数的参数x
和y
都是关键字参数。在调用add()
函数时,我们使用x=2
和y=3
来指定参数的值,这样就不必按照参数的定义顺序传递参数了。
3、可变参数
可变参数是指可以接受任意数量参数的参数。在Python中,可变参数可以通过在参数名前加上一个星号*
来定义,这样函数就可以接受任意数量的位置参数。例如:
def add(*args):total = 0for arg in args:total += argreturn totalresult = add(2, 3, 4)print(result) # 输出 9
在这个例子中,add()
函数的参数名为args
,前面有一个星号*
。这样,add()
函数就可以接受任意数量的位置参数,并将它们存储在一个元组中。
4、默认参数
默认参数是指在函数定义时就已经指定默认值的参数。在调用函数时,如果没有传递该参数的值,则使用该参数的默认值。例如:
def add(x, y=0):return x + yresult1 = add(2)result2 = add(2, 3)print(result1) # 输出 2print(result2) # 输出 5