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

Python中的函数默认参数和可变参数是什么?

发布时间:2023-12-03 05:17:41

Python中的函数默认参数和可变参数是函数定义中的两种特殊参数类型。

默认参数是指在函数定义时为参数设置了一个默认值,当调用函数时如果没有传入该参数的值,就会使用默认值。在函数定义中,可以给参数设置默认值,例如:

def greet(name, message="Hello"):
    print(message, name)

greet("Alice")  # 输出:Hello Alice
greet("Bob", "Hi")  # 输出:Hi Bob

在上面的例子中,函数greet有两个参数namemessage,其中message设置了一个默认值"Hello"。当只传入一个参数name时,函数会使用默认的消息值打印输出;当同时传入两个参数时,函数会使用传入的消息值打印输出。

可变参数是指函数定义中的参数个数是可变的,可以传入任意数量的参数。在函数定义时,使用*args(也可以是其他名称)来表示可变参数。例如:

def sum(*args):
    total = 0
    for num in args:
        total += num
    return total

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

在上面的例子中,函数sum的参数是可变参数args,它可以接收任意数量的参数。在函数体内,使用for循环对所有传入的参数进行累加求和。

可变参数还可以与其他普通参数一起使用。例如:

def greet(message, *names):
    for name in names:
        print(message, name)

greet("Hello", "Alice", "Bob")  # 输出:Hello Alice    Hello Bob
greet("Hi")  # 没有传入额外参数,所以不会输出任何内容

在上面的例子中,函数greet的 个参数是普通参数message,后面的参数是可变参数names。这样定义的函数可以接收一个消息和任意数量的姓名,然后打印输出每个姓名和消息。

通过使用默认参数和可变参数,可以提高函数的灵活性和复用性,使函数能够适应不同的调用方式和参数个数。