wapjsx 发表于 2024-3-29 16:01

return不仅是返回,还有break的功能

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

那你如何看下面这个代码
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
那你如何看下面这个代码
def mya():# 定义一个函数 mya
    i = 10# 给变量i...

嗯!是我 不严谨。

应该这样表述:

return 在函数或类的循环中使用时,立即返回数据;隐含着打破循环的功能。 这样行不?{:1_918:}

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,这是个好习惯。
页: [1] 2
查看完整版本: return不仅是返回,还有break的功能