python-关于返回值return
所有函数在没有指定返回值时都有一个默认的返回值None。如果函数没有return语句,则默认返回None.None表示空的意思。"return"是编程语言中的一个关键字,通常用于函数或方法的结尾,表示将执行结果返回给调用者。2.退出当前函数,导致return下方的(函数体内部的‘缩进的’)代码不执行。用return print('')也会报错,如果要打印字符串可以用return f' '在类方法中
·
一.含义
"return"是编程语言中的一个关键字,通常用于函数或方法的结尾,表示将执行结果返回给调用者。
通俗讲就是一个事物反馈给你的东西。就像你一拍桌子,会返回声音和力的反作用力。
二.作用
- 负责函数返回值,返回一个参数或数据等。
- 退出当前函数,导致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' '
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献3条内容
所有评论(0)