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

Python函数——参数与默认值的使用方法

发布时间:2023-07-06 03:13:38

在Python中定义函数时,可以为函数的参数设置默认值。默认值是在定义函数时,给参数预先指定的一种值。当函数调用时没有提供该参数的值,就会使用默认值。参数的默认值可以为任何可用的值,比如整数、浮点数、字符串、布尔值等。

下面是一个例子,演示了如何使用默认值来定义函数:

def greet(name='Guest'):
    print('Hello', name)

greet()  # 输出:Hello Guest
greet('Alice')  # 输出:Hello Alice

在上述代码中,函数greet()有一个参数name,默认值为'Guest'。当我们调用函数时,可以不传递参数,此时函数会使用默认值。

如果我们传递了一个参数,比如'Alice',函数会使用传递的参数值而不是默认值。

默认值还可以是其他变量的值,如下面的例子:

def multiply(a, b=2):
    return a * b

result = multiply(5)
print(result)  # 输出:10

在上述代码中,函数multiply()有两个参数ab,其中b的默认值为2。当我们只传递一个参数5给函数时,函数会使用默认值2来计算结果。

当函数有多个参数时,可以设置多个默认值。但是,有一个原则必须记住,就是默认值参数必须在非默认值参数之后。例如,下面的代码是合法的:

def combine(a, b=2, c=3):
    return a + b + c

result = combine(1, 4)
print(result)  # 输出:8

在上面的代码中,函数combine()有三个参数abc,其中bc都有默认值。当我们调用函数时只传递了两个参数14,函数会使用默认值来计算结果。

当我们调用函数时,可以根据需要只传递一部分参数,而其他参数使用默认值。例如,下面的代码演示了如何只传递某些参数:

def greet(name='Guest', age=18):
    print('Hello', name)
    print('Your age is', age)

greet('Alice')  # 输出:Hello Alice, Your age is 18
greet('Bob', 25)  # 输出:Hello Bob, Your age is 25

在上述代码中,函数greet()有两个参数nameage,它们都有默认值。当我们调用函数时只传递一个参数'Alice',函数会使用默认值18来输出结果。当我们调用函数时传递了两个参数'Bob'25,函数会使用传递的参数值来输出结果。

需要记住的是,默认值只会在函数定义时计算一次。如果默认值是可变对象(比如列表、字典等),并且在函数体内被修改,那么下次调用函数时该默认值将会被保留。

总之,函数的参数与默认值的使用方法为在函数定义时为参数设置默认值,当函数调用时没有传递该参数的值,函数会使用默认值。默认值可以是任何可用的值,多个参数可以有多个默认值,但是默认值参数必须在非默认值参数之后。