在计算机编程中,参数(argument)是函数接受的一个值。
在学习函数参数之前,请确保您已了解 Python 函数。
示例 1:Python 函数参数
def add_numbers(a, b):
sum = a + b
print('Sum:', sum)
add_numbers(2, 3)
# Output: Sum: 5
在上面的示例中,函数 add_numbers()
接受两个参数:a
和 b
。请注意这一行:
add_numbers(2, 3)
这里,add_numbers(2, 3)
指定了参数 a
和 b
将分别获得值 2 和 3。
带默认值的函数参数
在 Python 中,我们可以为函数参数提供默认值。
我们使用 =
运算符来提供默认值。例如,
def add_numbers( a = 7, b = 8):
sum = a + b
print('Sum:', sum)
# function call with two arguments
add_numbers(2, 3)
# function call with one argument
add_numbers(a = 2)
# function call with no arguments
add_numbers()
输出
Sum: 5 Sum: 10 Sum: 15
在上面的示例中,请注意函数定义
def add_numbers(a = 7, b = 8):
...
这里,我们为参数 a 和 b 分别提供了默认值 7 和 8。这个程序的工作原理如下:
1. add_numbers(2, 3)
在函数调用期间传递了两个值。因此,将使用这些值而不是默认值。
2. add_numbers(2)
在函数调用期间只传递了一个值。因此,根据位置参数,2 被赋给参数 a
,而参数 b
则使用默认值。
3. add_numbers()
在函数调用期间没有传递任何值。因此,参数 a
和 b
都使用默认值。
Python 关键字参数
在关键字参数中,参数是根据参数的名称进行分配的。例如,
def display_info(first_name, last_name):
print('First Name:', first_name)
print('Last Name:', last_name)
display_info(last_name = 'Cartman', first_name = 'Eric')
输出
First Name: Eric Last Name: Cartman
这里,请注意函数调用:
display_info(last_name = 'Cartman', first_name = 'Eric')
这里,我们在函数调用期间为参数指定了名称。
因此,函数调用中的 first_name
会被赋给函数定义中的 first_name
。类似地,函数调用中的 last_name
会被赋给函数定义中的 last_name
。
在这种情况下,参数的位置就不重要了。
Python 任意参数函数
有时,我们无法预先知道将有多少个参数传递给函数。为了处理这种情况,我们可以使用 Python 中的任意参数。
任意参数允许我们在函数调用期间传递可变数量的值。
我们在参数名称前使用星号 (*) 来表示这种类型的参数。例如,
# program to find sum of multiple numbers
def find_sum(*numbers):
result = 0
for num in numbers:
result = result + num
print("Sum = ", result)
# function call with 3 arguments
find_sum(1, 2, 3)
# function call with 2 arguments
find_sum(4, 9)
输出
Sum = 6 Sum = 13
在上面的示例中,我们创建了函数 find_sum()
,它接受任意数量的参数。请注意这两行:
find_sum(1, 2, 3)
find_sum(4, 9)
这里,我们能够用不同的参数调用同一个函数。