Python 函数参数
- 函数参数基础:Python 函数可以接受参数,例如
add_numbers(a, b)
,其中a
和b
是函数需要的值。 - 默认值与关键字参数:函数参数可以有默认值(如
a = 7
),也可以使用关键字指定(如first_name = 'Eric'
)。 - 任意数量参数:使用
*numbers
,Python 函数可以接受不确定数量的参数,方便处理多个输入值。
在计算机编程中,参数是函数接受的一个值。
在学习函数参数之前,确保了解Python 函数。
示例 1:Python 函数参数
def add_numbers(a, b):
sum = a + b
print('Sum:', sum)
add_numbers(2, 3)
# 输出: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)
# 使用两个参数调用函数
add_numbers(2, 3)
# 使用一个参数调用函数
add_numbers(a = 2)
# 不使用参数调用函数
add_numbers()
输出
Sum: 5
Sum: 10
Sum: 15
在上面的例子中,注意函数定义
def add_numbers(a = 7, b = 8):
...
这里,我们为参数 a 和 b 分别提供了默认值 7 和 8。这个程序的工作方式如下
1. add_number(2, 3)
在函数调用期间传递了两个值。因此,这些值被用来替代默认值。
2. add_number(2)
在函数调用期间只传递了一个值。所以,根据位置参数 2 被分配给参数 a
,并使用参数 b
的默认值。
3. add_number()
在函数调用期间没有传递任何值。因此,两个参数 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 中使用任意参数。
任意参数允许我们在函数调用期间传递不同数量的值。
我们在参数名之前使用星号 (*) 来表示这种参数。例如,
# 程序用于计算多个数字的和
def find_sum(*numbers):
result = 0
for num in numbers:
result = result + num
print("Sum = ", result)
# 使用 3 个参数调用函数
find_sum(1, 2, 3)
# 使用 2 个参数调用函 数
find_sum(4, 9)
输出
Sum = 6
Sum = 13
在上面的例子中,我们创建了接受任意参数的函数 find_sum()
。注意以下行,
find_sum(1, 2, 3)
find_sum(4, 9)
这里,我们能够使用不同的参数调用同一个函数。
注意:在获取多个值之后,numbers
表现为一个数组,所以我们能够使用 for
循环访问每个值。