昨天呢,我们了解了函数的创建,调用,参数(实参,形参),作用域,以及把局部变量,转变为全局变量的关键字的使用(global),不知道,小伙伴们有没有掌握好呢,没有学习的,要抓紧了!
今天呢,我们接着来说说,函数的返回值,作用域链及其剩余的问题吧
函数的返回值:
有的小伙伴就问了,为什么要有返回值呢,其实呢,这个问题,你可以这么理解,当函数运行完代码块,得到一个结果,往往我们还想用这个结果用于计算或者其他用途,那怎么拿到这个结果来使用呢,那就有了返回值,看图说话:
所以呢,使用return 得到返回值,就非常重要了。接着看吧。
函数的返回值,有三种情况:
下面,我们就详细的说说,三种情况的使用场景以及方式和区别吧。
1、 没有返回值
(1)不写return的情况下,是没有返回值的,呃,有点废话啊,还是看看吧。
(2)只写return的,后面并没有要返回的值,那也是不能用这个值参与运算的。
有#,有人说赤水大瀑布比黄果树更美,我说洞深十丈锁云烟,美人如玉瀑如虹你说,这瀑布是不是美的跟假的似的?[酷]#了也没有,那和不写有区别吗,其实,有return的地方,后面的代码是不执行的
有人说,写了也没有,那和不写有区别吗?其实,有return的地方,后面的代码是不执行的。比如:当输出"贾老板"的时,停止执行代码,我们可以这么写。
上面的图,我们可以看到,有了return,后面的代码不执行了。所以呢,只写return,是结束了一个函数,在没有返回值的情况下,默认返回值是 NONE;
呃 写与不写,还是有点区别的吧,嘚瑟。(请自动对比 break)
2、 一个返回值
返回的是数字,是可以的,比如
当然了,除了返回值是数字,那么可不可以是字符串,列表,字典呢。当然是可以的了,记住两点:
一是,可以返回任何数据类型。
二是,只要返回了,就可以接收到。
大家可以试试,返回其他数据类型。
注意:如果在一个程序中有多个return,那么只执行第一个。
3、 多个返回值
多个返回值用多个变量接收,有多少返回值,就用多少变量接收,不能多也不能少。
返回多个值,用一个变量接收,得到的是一个元祖。
元祖是可以解包的,当然,列表,字典也是可以的。
以上是对返回值的叙述,一起学习哦,喜欢的可以关注哦