Python中的函数参数类型分为位置参数、默认参数、可变长位置参数和可变长关键字参数。
- 位置参数:顾名思义,这些参数是按照顺序传递给函数的,其中最常见的是只传递一个参数的情况。当只传递一个参数时,这个参数将称为函数中的第一个位置参数。位置参数的数量必须与函数定义中的数量相同。
def add(x, y):
return x + y
result = add(2, 3)
print(result) # 5
- 默认参数:默认参数被指定一个默认值,如果没有传递这些参数,则使用默认值。
def multiply(x, y=2):
return x * y
result1 = multiply(2)
result2 = multiply(4, 5)
print(result1) # 4
print(result2) # 20
- 可变长位置参数:允许将不定数量的位置参数传递给函数,这些参数将被打包成一个元组。在函数防止可变长位置参数的过程中,需要在参数名称前面添加一个*符号,这个符号可以理解为“任意数量的”。
def func(*args):
for arg in args:
print(arg)
func(1,2,3,4,5)
# Output:
# 1
# 2
# 3
# 4
# 5
- 可变长关键字参数:与可变长位置参数类似,可变长关键字参数允许将不定数量的关键字参数传递给函数,这些参数将被打包成一个字典。在函数定义中,需要在参数名称前面添加两个星号符号(**)。
def func(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
func(first_name="John", last_name="Doe", age=30)
# Output:
# first_name: John
# last_name: Doe
# age: 30
总之,Python支持多种参数类型,这些参数类型都各自有不同的用法和适用场景。当开发Python应用时,需要在函数定义中根据需要使用适当的参数类型。