吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 388|回复: 14
收起左侧

[讨论] return不仅是返回,还有break的功能

[复制链接]
wapjsx 发表于 2024-3-29 16:01
[Python] 纯文本查看 复制代码
def mya():                    # 定义一个函数 mya
    i = 10                    # 给变量i 赋整数型数值 10
    while True:               # 循环开始
        i -= 1                # i = i - 1
        if i == 5:            # 条件判断,如果 i 等于 5 时
            return i          # 返回 5
        print(i)              # 打印 i 的值

if __name__ == "__main__":
    print(mya())
    print('ok')


在这里, return 返回后,自定义函数mya 里还会把 i 的值 5、4、3、2……打印下去吗?

答案是:不会。

故,return 不仅仅有 返回 数据的功能,还有break while的功能。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

apull 发表于 2024-3-29 16:05
是滴,return直接跳到函数末尾处。
KKBon 发表于 2024-3-29 16:25
不严谨,仅适合你当前的程序,如果后面还有要执行的代码
zhuxiangyu1024 发表于 2024-3-29 16:28
那你如何看下面这个代码
[Asm] 纯文本查看 复制代码
def mya():  # 定义一个函数 mya
    i = 10  # 给变量i 赋整数型数值 10
    while True:  # 循环开始
        i -= 1  # i = i - 1
        if i == 5:  # 条件判断,如果 i 等于 5 时
            return i  # 返回 5
        print(i)  # 打印 i 的值
    
    print("hello!")
if __name__ == "__main__":
    print(mya())
    print('ok')
逗号Mmm 发表于 2024-3-29 16:38
我理解:break用于结束一个switch语句或者一个循环语句,return直接结束整个函数
T2ao 发表于 2024-3-29 16:41
后面还有要执行的东西的话,也执行不了
kof21411 发表于 2024-3-29 16:43
在函数里return就是结束了
 楼主| wapjsx 发表于 2024-3-29 16:48
zhuxiangyu1024 发表于 2024-3-29 16:28
那你如何看下面这个代码
[mw_shl_code=asm,true]def mya():  # 定义一个函数 mya
    i = 10  # 给变量i  ...

嗯!是我 不严谨。

应该这样表述:

return 在函数或类的循环中使用时,立即返回数据;隐含着打破循环的功能。 这样行不?
 楼主| wapjsx 发表于 2024-3-29 16:49
kof21411 发表于 2024-3-29 16:43
在函数里return就是结束了

嗯!  就这个这样说才可以。

之前还担心着,return 之后,循环继续的情况。是我多虑啦。
我心飞翔1995 发表于 2024-3-29 16:54
不要光学Python,C语言或者计算机原理也要看。程序是以调用开始,以返回或者执行完结束,返回return会结束一层函数调用,等你测试递归的时候就更能理解return的作用了。
一般不建议在循环内使用return,而是使用break、continue,这是个好习惯。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-29 03:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表