跳到主要内容

Python 函数参数

提示
  1. 函数参数基础:Python 函数可以接受参数,例如 add_numbers(a, b),其中 ab 是函数需要的值。
  2. 默认值与关键字参数:函数参数可以有默认值(如 a = 7),也可以使用关键字指定(如 first_name = 'Eric')。
  3. 任意数量参数:使用 *numbers,Python 函数可以接受不确定数量的参数,方便处理多个输入值。

在计算机编程中,参数是函数接受的一个值。

在学习函数参数之前,确保了解Python 函数

示例 1:Python 函数参数

def add_numbers(a, b):
sum = a + b
print('Sum:', sum)

add_numbers(2, 3)

# 输出:Sum: 5

在上面的例子中,函数 add_numbers() 接受两个参数:ab。注意这一行,

add_numbers(2, 3)

这里,add_numbers(2, 3) 指定参数 ab 将分别获得值 23

带默认值的函数参数

在 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 分别提供了默认值 78。这个程序的工作方式如下

1. add_number(2, 3)

在函数调用期间传递了两个值。因此,这些值被用来替代默认值。

2. add_number(2)

在函数调用期间只传递了一个值。所以,根据位置参数 2 被分配给参数 a,并使用参数 b 的默认值。

3. add_number()

在函数调用期间没有传递任何值。因此,两个参数 ab 都使用默认值。

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 循环访问每个值。