优秀的编程知识分享平台

网站首页 > 技术文章 正文

小白必知必会的return小攻略(return游戏怎么玩)

nanyue 2024-09-09 04:51:59 技术文章 7 ℃

今天突然有学员问我,为什么有的函数有return而有的又没有return?

这个问题一下子把我的思绪拉回“年轻”的时候,那时这个问题也困扰我很久~~

我相信很多初学的小白肯定都遭遇过这个问题的洗礼,今天的文对小白友好,不适合大佬观赏~~

return的作用

假如我有一家生产手机的工厂,但工人把手机生产出来之后就直接被销毁了。

此时手机是被生产出来过,但是没有人接收到手机,所以手机变成垃圾,被销毁了。

示例代码如下:

def assemble_phone():
    phone = "apple"

我定义了一个phone的变量,并赋值“apple”,但接下来之后函数就结束了,所以这个phone变量没有任何意义,就像手机被造出来之后就被销毁了一样。

那么如何把生产出来的手机保留下来呢?

?

很多初学者会以为print出来的值应该会被返回,这是一个很大的思维误区。

?

def assemble_phone():
    phone = "apple"
    print(phone)

phone = assemble_phone()
print(f"今天真开心,我买了一部{phone}手机")

执行结果:

apple
今天真开心,我买了一部None手机

今天一点都不开心,我买了个None(什么都没有)。

但是从执行结果中发现,函数运行之后的的确确是看到apple被输出了,那为什么new_phone还是个None呢?

因为apple手机在制造完成之后,送到我眼前晃了一下,让我欣赏了下,之后...销毁了...所以我还是买了个None。

正确写法

只要把函数中的print(phone)语句更换成return phone语句即可。

def assemble_phone():
    phone = "apple"
    return phone

phone = assemble_phone()
print(f"今天真开心,我买了一部{phone}手机")

执行结果:

今天真开心,我买了一部apple手机

这是为啥?因为如果在函数在执行完return语句之后,函数本身就会变成return语句后面的值,这样就能把值给传递出去。

没有return的函数,就没有任何值传递出去,所以无论函数怎么执行它,它也就是个None。

return使用小攻略

  1. 通常情况下,函数结束到return语句就结束了,return之后的语句将不会被执行。
def assemble_phone():
    phone = "apple"
    return phone
    print(phone)

print(assemble_phone())

执行结果:

apple

print(phone)语句不会被执行到。

  1. return 后不带任何值,将会return None,
def return_empty():
    return
print(return_empty())

执行结果:

None
  1. 函数中含有多个return的情况下,执行到任何一个return,函数都将停止并返回,
def choice_five(num):
    if num == 5:
        return num
    return "不是5"

print(choice_five(10))
print(choice_five(5))

执行结果:

不是5
5
  1. 只有在这种情况下,执行到return语句函数不会停止,
def output_num():
    try:
        return 5
    finally:
        return 10

print(output_num())

执行结果:

10

应用场景

一般情况下,函数如果要拿到一些列操作之后的结果就需要用到return去返回这个结果;

如果我们不需要结果,只需要完成过程(例如写入数据库),那么return就会显得多余了。

作者: 小K

来源: 麦叔编程

Tags:

最近发表
标签列表