Python函数——参数与默认值的使用方法
在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()有两个参数a和b,其中b的默认值为2。当我们只传递一个参数5给函数时,函数会使用默认值2来计算结果。
当函数有多个参数时,可以设置多个默认值。但是,有一个原则必须记住,就是默认值参数必须在非默认值参数之后。例如,下面的代码是合法的:
def combine(a, b=2, c=3):
return a + b + c
result = combine(1, 4)
print(result) # 输出:8
在上面的代码中,函数combine()有三个参数a、b和c,其中b和c都有默认值。当我们调用函数时只传递了两个参数1和4,函数会使用默认值来计算结果。
当我们调用函数时,可以根据需要只传递一部分参数,而其他参数使用默认值。例如,下面的代码演示了如何只传递某些参数:
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()有两个参数name和age,它们都有默认值。当我们调用函数时只传递一个参数'Alice',函数会使用默认值18来输出结果。当我们调用函数时传递了两个参数'Bob'和25,函数会使用传递的参数值来输出结果。
需要记住的是,默认值只会在函数定义时计算一次。如果默认值是可变对象(比如列表、字典等),并且在函数体内被修改,那么下次调用函数时该默认值将会被保留。
总之,函数的参数与默认值的使用方法为在函数定义时为参数设置默认值,当函数调用时没有传递该参数的值,函数会使用默认值。默认值可以是任何可用的值,多个参数可以有多个默认值,但是默认值参数必须在非默认值参数之后。
