Python函数参数

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

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


示例 1:Python 函数参数

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

add_numbers(2, 3)

# Output: 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)


# 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 分别提供了默认值 78。这个程序的工作原理如下:

1. add_numbers(2, 3)

在函数调用期间传递了两个值。因此,将使用这些值而不是默认值。

2. add_numbers(2)

在函数调用期间只传递了一个值。因此,根据位置参数,2 被赋给参数 a,而参数 b 则使用默认值。

3. add_numbers()

在函数调用期间没有传递任何值。因此,参数 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 中的任意参数

任意参数允许我们在函数调用期间传递可变数量的值。

我们在参数名称前使用星号 (*) 来表示这种类型的参数。例如,

# 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)

这里,我们能够用不同的参数调用同一个函数。

注意:在接收到多个值后,numbers 的行为就像一个数组,所以我们能够使用 for 循环来访问每个值。

在我们结束之前,让我们来检验一下您对 Python 函数参数的知识吧!您能解决下面的挑战吗?

挑战

编写一个函数,返回一个中间带空格的全名。

  • 例如,如果 first_nameJohnlast_nameDoe,则返回值应该是 John Doe

视频:Python 函数参数:位置参数、关键字参数和默认参数

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战