一.含义

        "return"是编程语言中的一个关键字,通常用于函数或方法的结尾,表示将执行结果返回给调用者。

        通俗讲就是一个事物反馈给你的东西。就像你一拍桌子,会返回声音和力的反作用力。

二.作用

  1. 负责函数返回值,返回一个参数或数据等。
  2. 退出当前函数,导致return下方的(函数体内部的‘缩进的’)代码不执行。(在使用try语句时除外)
def fun():
    print('hhh')
    return 'ok'  # 执行到该return语句时,函数终止,后边的语句不再执行
    print('ooo')


def func():
    try:
        print('hhh')
        return 'ok'  # 会在执行finally后才执行
    finally:  # finally语句块中的语句依然会执行,无论是否发生异常,都会在函数返回之前执行
        print('ooo')


print(fun())
print('----------')
print(func())

'''
运行结果:
hhh
ok
----------
hhh
ooo
ok
'''

三.没有return时

        所有函数在没有指定返回值时都有一个默认的返回值None。如果函数没有return语句,则默认返回None.None表示空的意思。

        但函数中不一定必须要存在return,return存在与否取决于其功能和用途。

# 设定一个基础图形
def line():
    print('-' * 10)

# 利用循环创建出新的图像
def total(num):
    i = 0
    while i < num:
        line()
        i += 1
    # 不加return最后结果会有一个None
    # return 1

print(total(5))

'''
运行结果:
----------
----------
----------
----------
----------
None
'''

四.return 1或0或-1的区别(int值)

  • 当return返回一个int值时,具体含义取决于具体的上下文和用途。
  •         表示计算结果时,如果函数的目的是进行某种计算并返回一个整数值作为结果,那么return语句将这个计算结果返回给调用者。
  • # 两数相加
    def add(a, b):
        sum = a + b
        return sum
    
    result = add(3, 4)
    
    # 此时运行结果是7
  •         当其表示状态时
  • return 1 return 0 return -1
    正常运行状态下 return 1通常用于表示程序或函数在执行过程中遇到了问题,未能正常完成其任务。在主函数中,这可能意味着程序异常终止。 在大多数编程语言中,return 0用于表示程序或函数已成功完成其任务,并正常退出。这是约定俗成的惯例,也是操作系统和其他程序用来判断程序是否正常结束的标志。 return -1通常用于表示函数遇到了严重错误或无法继续执行的情况
    在布尔值(bool)中 表示布尔值 表示布尔值 一般不直接对应布尔值的True或False,表示执行错误
    在特殊情况下(不重要) return 1也可以表示某种特定条件的达成或成功,尽管这种情况较少见 都表示正常 在一些复杂的系统或库中,负返回值可能用于指示不同类型的错误或异常

    五.返回值返回的类型

            一般情况下,可以返回任意类型。

  • 当返回单个值时,返回的就是他原本的类型
  • def return_type():
        # return 1, 2
        return [1, 2]
    
    print(return_type())
    print(type(return_type()))
    
    '''
    运行结果(其他类型同理):
    [1, 2]
    <class 'list'>
    '''
  • 当返回多个值时,默认返回元组(tuple)
  • def return_type():
        return 1, 2
    
    print(return_type())
    print(type(return_type()))
    
    
    '''
    运行结果:
    (1, 2)
    <class 'tuple'>
    '''

    六.函数作为参数传递

    def test1():
        return 50
    
    def test2(num):
        print(num)
    
    # 保存函数test1的返回值
    result = test1()
    # 将函数返回值所在变量作为参数传递到test2中
    test2(result)
    
    # 打印结果:50

    七.print()和return的区别

    (虽然他们可能没有太大关系)

    print() return
    功能用途 主要用于在控制台输出信息 将处理结果返回给调用者
    返回值特性 没有返回值的概念 可以返回函数计算后的任意类型数据,默认为None
    终止情况 一般情况下不会终止 在函数中,一般情况下return下代码不执行
    应用场景 适用于需要即时展示程序执行进度或中间结果的场景,如调试等 多用于需要在计算后继续处理结果的场景,如数据计算、条件判断等
  • 一般情况下,return和print也是可以混合使用的。但建议使用第二种方法。
  • # 第一种
    def return_p1():
        return print('hhh')
    
    return_p1()
    print('--------')
    
    # 第二种
    def return_p2():
        return 'ooo'
    
    print(return_p2())
    
    '''
    运行结果:
    hhh
    --------
    ooo
    '''

    例题:

    错误原因:没有返回值,print和return认识不明确

    八.特殊情况

    在类方法中,__str__中的return后只能是字符串类型

    用return print('  ')也会报错,如果要打印字符串可以用return f' '

    作者:姬嘉晗-19期-河北工职大

    物联沃分享整理
    物联沃-IOTWORD物联网 » python-关于返回值return

    发表回复