一.含义

        "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 1return 0return -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' '

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐