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有两个参数name和message,其中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。这样定义的函数可以接收一个消息和任意数量的姓名,然后打印输出每个姓名和消息。
通过使用默认参数和可变参数,可以提高函数的灵活性和复用性,使函数能够适应不同的调用方式和参数个数。
