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

如何定义可变参数和关键字参数的Python函数

发布时间:2023-07-25 07:23:52

在Python中,函数可以通过使用可变参数和关键字参数来接收不定数量的参数。可变参数允许函数接收任意数量的位置参数,而关键字参数允许函数接收任意数量的关键字参数。

1. 可变参数:

可变参数允许函数接收任意数量的位置参数。在函数定义中,使用星号(*)表示可变参数。可变参数在函数体内作为一个元组来使用。

例如,下面的函数定义示例中,sum函数接收任意数量的参数,并返回它们的和:

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

可以通过以下方式调用sum函数:

print(sum(1, 2, 3))  # 输出:6
print(sum(1, 2, 3, 4, 5))  # 输出:15

2. 关键字参数:

关键字参数允许函数接收任意数量的关键字参数。在函数定义中,使用两个星号(**)表示关键字参数。关键字参数在函数体内作为一个字典(键值对)来使用。

例如,下面的函数定义示例中,print_info函数接收名字和年龄作为位置参数,并接收任意数量的关键字参数,并打印出用户信息:

def print_info(name, age, **kwargs):
    print("Name:", name)
    print("Age:", age)
    for key, value in kwargs.items():
        print(key + ":", value)

可以通过以下方式调用print_info函数:

print_info("John", 25)  # 输出:
# Name: John
# Age: 25

print_info("Jane", 30, city="New York", job="Engineer")  # 输出:
# Name: Jane
# Age: 30
# city: New York
# job: Engineer

以上是可变参数和关键字参数的基本定义和使用方式。函数可以同时使用可变参数和关键字参数,例如:

def do_something(*args, **kwargs):
    # 处理位置参数
    for arg in args:
        print(arg)
    # 处理关键字参数
    for key, value in kwargs.items():
        print(key + ":", value)

这样,函数do_something可以接收任意数量的位置参数和关键字参数,并分别进行处理。