欢迎访问宙启技术站
智能推送

Python中参数的种类及如何传递它们

发布时间:2023-06-21 13:14:44

Python中的参数种类主要包括位置参数、默认参数、可变长参数和关键字参数。在函数定义时,可以使用这些参数类型来定义函数的参数,以便在调用函数时能够提供不同的参数值。下面将分别介绍这些参数类型及如何传递它们。

1. 位置参数

位置参数是最基本的参数类型,它们根据参数位置来传递值。函数定义时,可以使用这些参数类型来定义函数的参数。在调用函数时,传递的参数将按照定义的顺序逐个与函数的参数相匹配,从而传递值。

下面是一个通过位置参数传递参数值的函数示例:

def add(a, b):
    return a + b

print(add(2, 3))  # 输出 5

在这个示例中,add()函数中的ab参数都是位置参数,在调用函数时,先传递的参数值将与a参数相匹配,后传递的参数值将与b参数相匹配。

2. 默认参数

默认参数是可以在函数定义时赋予默认值的参数类型。如果在函数调用时没有为这些参数提供值,则使用默认值。这使得函数的参数可以按需使用,并且在不同情况下可以具有不同的默认值。

下面是一个通过默认参数传递参数值的函数示例:

def add(a, b=1):
    return a + b

print(add(2))       # 输出 3
print(add(2, 3))    # 输出 5

在这个示例中,add()函数中的b参数是一个默认参数,如果在函数调用时没有为此参数提供任何值,则使用默认值1。在 个print()语句中,只为a参数提供了参数值2,而为b参数没有提供值,因此使用了默认值1。

3. 可变长参数

可变长参数允许函数处理可变数量的参数。Python提供了两种可变长度参数:*args和**kwargs。前者用于传递任意数量的位置参数,后者用于传递任意数量的关键字参数。

下面是一个通过可变长参数传递参数值的函数示例:

def add(*args):
    res = 0
    for arg in args:
        res += arg
    return res

print(add(1, 2, 3))    # 输出 6
print(add(1, 2, 3, 4)) # 输出 10

在这个示例中,add()函数中的*args参数是可变长参数,在函数调用时可以传递任意数量的位置参数,这些参数将被收集到一个元组中成为*args参数的一个值。在函数体中,可以使用for循环遍历这个元组并执行相应的操作。

4. 关键字参数

关键字参数允许函数处理任意数量的关键字参数。在函数定义时,可以使用**kwargs参数来接收这些关键字参数。

下面是一个通过关键字参数传递参数值的函数示例:

def add(a, b, **kwargs):
    if 'c' in kwargs:
        return a + b + kwargs['c']
    else:
        return a + b

print(add(2, 3))          # 输出 5
print(add(2, 3, c=4))     # 输出 9
print(add(2, 3, d=4, e=5)) # 抛出TypeError异常

在这个示例中,add()函数中的**kwargs参数是关键字参数,在函数调用时可以传递任意数量的关键字参数。如果在函数调用时提供了名为c的关键字参数,则函数将加上该参数的值并返回结果。否则,函数将只计算ab的总和。

总结

Python中的参数类型包括位置参数、默认参数、可变长参数和关键字参数。在函数定义时,可以使用这些参数类型来定义函数的参数,以便在调用函数时能够提供不同的参数值。在具体的使用过程中,可以根据需求选择不同的参数类型来使函数更加灵活和通用。