一、函数参数和返回值的作用

函数根据有没有参数 以及 有没有返回值,可以相互结合,一共有四种组合形式。

  1. 无参数,无返回值
  2. 无参数,有返回值
  3. 有参数,无返回值
  4. 有参数,有返回值

python 返回值 函数 python返回值怎么理解_返回结果

 

提示:定义函数时,是否接受参数 或者 是否返回结果,是根据实际的功能需求来决定的。

  1. 如果函数内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部。
  2. 如果希望一个函数执行完成后,向外界汇报执行结果,就可以增加函数的返回值。

二、函数返回值(进阶)

在程序开发中,有时候会希望一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续的处理。

  1. 返回值是函数工作完成后,最后给调用者的一个结果。
  2. 在函数中使用return关键字可以返回结果。
  3. 调用函数一方,可以使用变量来接收函数的返回结果。

问题: 一个函数执行后能否返回多个结果??

2.1 利用元组返回多个值

示例:温度和湿度测量

假设要开发一个函数能够同时返回当前的温度和湿度。

第一,先返回温度的功能的代码如下:

def temperature():
    """返回当前的温度"""

    print("开始测量")
    temp = 39
    print("测量结束")

    return temp


result = temperature()
print(result)

执行结果:

python 返回值 函数 python返回值怎么理解_开发语言_02

 

第二,在利用元组在返回温度的同时,也能够返回湿度

代码改造如下:

def temperature():
    """返回当前的温度 和 湿度"""

    print("开始测量")
    temp = 39
    wetness = 60
    print("测量结束")

    # 元组 = 可以包含多个数据,因此可以使用元祖让函数一次返回多个值
    # 如果函数返回对的类型是元组,元组本身的小括号是可以省略的
    # return (temp, wetness)
    return temp, wetness


result = temperature()
print(result)

执行结果:

python 返回值 函数 python返回值怎么理解_返回结果_03

 

2.2 接收返回元组函数的方式

需求1:结合上面的代码,需要单独的处理元组中的温度和湿度

# 这种形式不方便,也不方便多次反复调用
print(result[0])  # 39
print(result[1])  # 60

需求2: 如果函数发返回的类型是元组,同时希望单独的处理元组中的元素

方法: 可以使用多个变量,依次接受函数的返回结果

当函数中返回的结果是一个元组的时候,我们定义变量来接收元祖,就会依次把元组中的第一个元素传递给第一个变量,元组中第二个元素传递给第二个变量,以此类推。这种方法编写的更加轻松方便您,不用记住哪一个索引对应哪一个数据。

注意:使用多个变量接收结果时,变量的个数应该和元组中元素对的个数保持一致

gl_temp, gl_wetness = temperature()

print(gl_temp)
print(gl_wetness)

完整代码如图:

python 返回值 函数 python返回值怎么理解_返回结果_04

执行结果如图:

python 返回值 函数 python返回值怎么理解_元组_05