函数的参数及返回值

函数的参数参数和返回值

函数的参数是函数接受的值,这些值在函数被调用时传递给函数。这些参数为函数提供了执行任务所需的信息。

1. 形式参数和实际参数

形式参数和实际参数是函数或方法中参数的两种主要类型。它们在定义和调用函数/方法时起着关键作用。

  • 形式参数是定义函数时列在函数名后的括号内的参数。它们在函数内部作为变量使用,但在函数被调用之前,它们的值是未知的。形式参数的主要作用是接收外部传递给函数的值。
def add(a, b):  # a 和 b 就是形式参数
    return a + b
  • 实际参数是调用函数时传递给函数的值。这些值在函数内部作为变量使用,并且可以被函数内部的代码操作。实际参数可以是常量、变量或表达式。
add(1, 2) # 1 和 2 就是实际参数

2.默认参数

默认参数是在Python等编程语言中定义函数时使用的一种特性。默认参数允许我们在定义函数时为某些参数提供默认值,这样在调用函数时如果没有提供这些参数的值,那么它们将使用默认值。

def func(name='GaGa', age = 18):
    print(f'{age}, {name}!')


# 调用函数时没有提供参数,将使用默认值
func()  # 输出 GaGa, 18!
func('Bob')  # 输出 18, Bob!
func('Tom', '20')  # 输出 20, Tom!

在这个例子中,func 函数有两个参数:nameage。它们分别有一个默认值:‘GaGa’ 和 ‘Hello’。如果在调用 func 函数时没有提供这些参数的值,那么它们将使用默认值。例如,第一次调用 func 函数时,由于没有提供参数值,所以将使用默认值 ‘GaGa’ 和 ‘Hello’。第二次调用提供了 name 参数的值 ‘Bob’,但 age 参数仍然使用默认值 ‘18’。第三次调用提供了 nameage 参数的值,所以它们将使用提供的值。

3.位置参数和关键字参数

位置参数和关键字参数是函数定义和调用时使用的两种参数类型。

  • 位置参数是在函数定义时按照参数的顺序列出的参数。在调用函数时,传递给函数的实际参数必须按照定义时的顺序与位置参数对应。
def add(a, b):  
    return a + b

ab 是位置参数。在调用函数时,必须传递两个参数,并且它们的顺序必须是 a 在前,b 在后。

  • 关键字参数是在函数定义时使用参数名和对应的默认值(如果有)来定义的参数。在调用函数时,传递给函数的实际参数使用参数名作为标识符,而不是顺序位置。
def func(name='Alice', age=18):  
    print(f'{age}, {name}!')

nameage 是关键字参数。在调用函数时,我们可以使用参数名作为标识符来传递参数。

func()  # 正确,使用了默认值
func('Bob')  # 正确,只传递了一个关键字参数
func('Tom', '20')  # 正确,传递了两个关键字参数

4.可变长参数

可变长参数是编程中常用的一种参数传递方式,它允许函数接受不定数量的参数。在 Python 中,可变长参数通过在参数类型后面添加*来表示。

  • 可变长位置参数:以 *args 的形式表示,用于接收不定数量的位置参数。这些参数将被收集到一个元组中传递给函数。
def sum_numbers(*numbers):
    the_sum = 0
    for num in numbers:
        the_sum += num
    return the_sum


print(sum_numbers(1, 2, 3, 4, 5))  # 输出:15

sum_numbers 函数使用 *numbers 接收任意数量的位置参数,并将它们相加

  • 可变长关键字参数:以 **kwargs 的形式表示,用于接收不定数量的关键字参数。这些参数将被收集到一个字典中传递给函数
def print_names(**names):
    for name in names:
        print(f"{name}: {names[name]}")


print_names(Alice=30, Bob=25, Charlie=35)  # 输出:Alice: 30, Bob: 25, Charlie: 35

print_names 函数使用 **names 接收任意数量的关键字参数,并打印出每个名字及其对应的值。

5.返回值

函数的返回值是指函数被调用后,其执行结果以某种形式返回给调用者的值。在编程中,函数的返回值可以是任何类型的数据,包括整数、浮点数、字符串、布尔值、列表、元组、字典等。

在定义函数时,可以使用 return 语句指定函数的返回值。当函数执行到 return 语句时,函数将立即结束,并将返回值传递给调用者。

def add(a, b):  
    result = a + b  
    return result

add 函数接受两个参数 ab,将它们相加并返回结果。当调用 add(2, 3) 时,函数将返回值 5 并传递给调用者。

如果函数没有 return 语句或表达式,则该函数将隐式地返回 None

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值