Python函数参数攻略
在Python中,函数参数分为位置参数、默认参数、可变参数和关键字参数。在函数定义时,我们可以根据需要设置参数类型,使得函数的传参变得更加灵活。下面分别对各种参数类型进行详细讲解。
位置参数
位置参数是最常见的函数参数类型,也是Python默认的参数类型。位置参数的值是根据参数在函数定义时的位置来确定的。例如,如果我们定义了函数 add(a, b)
,则调用时必须传入两个参数 a
和 b
,且参数顺序必须一致。示例如下:
def add(a, b):
return a + b
c = add(1, 2)
print(c) # Output: 3
默认参数
默认参数是在定义函数时给参数赋予默认值,在函数调用时可以不传入这个参数,如果不传入默认使用该参数的默认值。如果传入参数,则使用传入的参数。例如,函数定义如下:
def power(x, n=2):
return x ** n
当调用时只传入一个参数时,n
会使用默认值 2
,如下所示:
value = power(2)
print(value) # Output: 4
当然,你也可以传入 n
的值,如下所示:
value = power(2, 3)
print(value) # Output: 8
可变参数
可变参数接收任意数量的参数。在函数定义时,在参数名前添加 *
即可定义可变参数,如下所示:
def calc(*numbers):
sum = 0
for n in numbers:
sum += n
return sum
将多个参数传入 calc
函数,如下所示:
value = calc(1, 2, 3, 4)
print(value) # Output: 10
关键字参数
关键字参数和可变参数一样可以接收任意数量的参数,但是参数是以 key=value
的形式传入的。在函数定义时,在参数名前添加 **
即可定义关键字参数,如下所示:
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
使用关键字参数传入参数值,如下所示:
person('Michael', 30)
person('Bob', 35, city='Beijing')
输出:
name: Michael age: 30 other: {}
name: Bob age: 35 other: {'city': 'Beijing'}
在定义函数时无法确定是否需要传入关键字参数,可用 **kw
解决。若传入了关键字参数,则在 kw
中自动组装出一个字典。
通过上述示例可以看出,在Python中,参数可以根据需要设置参数类型和参数的默认值,从而使得函数的传参更加灵活,也更方便扩展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python的函数参数你了解吗 - Python技术站