正文共:2112 字 6 图 预计阅读时间:6分钟
The greatest discovery of all time is that a person can change their future by merely changing their attitude.
有史以来最伟大的发现是,一个人只需改变态度就可以改变自己的未来。
小闫语录:
改变当前处境,并不是按部就班的继续,这样只会重蹈覆辙。必须从态度、思想上转变,方向决定成败。
昨天的文章『每天 3 分钟,小闫带你学 Python(十九)』讲解了函数的一些基础知识:
1.函数的定义以及调用:
# 定义函数
def 函数():
函数要执行的代码
# 调用函数
函数()
2.函数形参与实参的区别。
3.函数参数中普通参数、缺省参数、不定长参数的形式以及使用。
1.掌握函数的返回值形式。
2.了解 return
的特点。
3.熟练掌握多个返回值情况。
在大学最宝贵的便是室友情,四年时光,宿舍生活占了绝大部分。有一种场景人人避免不了,那便是帮室友打水带饭(有木有?)。小红让小明带午饭(不要管小红为什么和小明一个宿舍,这是秘密),小明回来手里的小炒肉就是返回值。结合到开发场景中,小红是调用函数的人,让小明带饭就是函数的功能,执行完后,小红的小炒肉就是返回值。
总结:返回值即调用函数后,函数返回给调用者的内容结果。
在函数中返回值依靠语句 return
实现。下面实现一个具有返回值的函数:
def function(age):
return "小明 %d 岁了" % age
return 后方为返回的内容,如果返回多个变量,变量之间使用逗号隔开:
return a,b,c
在接收变量时,返回值与变量个数一致。
执行函数后,返回值如何保存呢?回忆一下变量 ... 没错,变量是存储数据的容器。
words = function(18)
print(words)
执行结果:
小明 18 岁了
>>> def testfunction():
... print("---我是第一个测试用例---")
... return 1
... print("---我是第二个测试用例---")
... return 2
... print("---我是第三个测试用例---")
...
>>> num = testfunction()
---我是第一个测试用例---
>>> num
1
看上方代码,函数中包含两个 return
,在调用函数后,内部代码由上往下按顺序执行,先打印出测试数据,然后使用变量 num
接收返回值,最后查看变量 num
。
为什么下方的代码没有执行?那是因为 return
不仅有返回数据的功能,它还有个隐藏技能(结束函数调用),return 下方代码不会执行。
有一种情况是可以在一个函数内部写多个 return
的,那便是使用条件判断语句,选择输出。
def function():
if 条件1:
return 返回值1
else:
return 返回值2
示例如下:
>>> def testfunc(age):
... if age > 18:
... return "可以进网吧了"
... else:
... return "滚回去学习"
...
>>> messages = testfunc(19)
>>> print(messages)
可以进网吧了
上面函数能够根据调用者输入的年龄,判断是否可以进入网吧。大家可以发散思维想一些生活中的场景使用代码进行实现。
大家已经了解到 return
后方可以返回多个变量,变量之间使用逗号隔开。前面也讲到多个返回值要多个变量进行接收。下面举例查看一下:
>>> def testmanyreturn(name,age):
... return name, age
...
>>> mes1, mes2 = testmanyreturn('Ethan', 18)
>>> print(mes1, mes2)
Ethan 18
如果多个返回值,只有一个变量接收,会出现下面的情况:
>>> def testmanyreturn(name,age):
... return name, age
...
>>> mes = testmanyreturn('Ethan', 18)
>>> print(mes)
('Ethan', 18)
没错,程序默认会将所有的返回值保存在一个元组中,然后赋值给接收返回值的变量。
也许有人会有疑问:返回值可以是什么类型的数据?
提示:返回值通过变量进行接收,那么变量都可以是什么类型呢?是否变量的所有类型都可以返回呢?
答:变量的所有类型都可以进行返回。 return
后方可以返回字符串、列表、元组、字典等所有数据类型。
1.自定义一个有返回值的函数,调用后使用变量接收返回值。
2.自定义一个可以返回多个数据的函数,然后试验一个变量接收与多个变量接收的情况。
3.尝试返回不同的数据类型数据。