首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每天 3 分钟,小闫带你学 Python(二十)

正文共: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.函数的定义以及调用:

代码语言:javascript
复制
# 定义函数
def 函数():
    函数要执行的代码
# 调用函数
函数()

2.函数形参与实参的区别。

3.函数参数中普通参数、缺省参数、不定长参数的形式以及使用。

学习目标

1.掌握函数的返回值形式。

2.了解 return 的特点。

3.熟练掌握多个返回值情况。

1.函数返回值(一)

1.1 返回值介绍

在大学最宝贵的便是室友情,四年时光,宿舍生活占了绝大部分。有一种场景人人避免不了,那便是帮室友打水带饭(有木有?)。小红让小明带午饭(不要管小红为什么和小明一个宿舍,这是秘密),小明回来手里的小炒肉就是返回值。结合到开发场景中,小红是调用函数的人,让小明带饭就是函数的功能,执行完后,小红的小炒肉就是返回值。

总结:返回值即调用函数后,函数返回给调用者的内容结果。

1.2 有返回值函数

在函数中返回值依靠语句 return 实现。下面实现一个具有返回值的函数:

代码语言:javascript
复制
def function(age):
    return "小明 %d 岁了" % age

return 后方为返回的内容,如果返回多个变量,变量之间使用逗号隔开:

代码语言:javascript
复制
return a,b,c

在接收变量时,返回值与变量个数一致。

执行函数后,返回值如何保存呢?回忆一下变量 ... 没错,变量是存储数据的容器。

代码语言:javascript
复制
words = function(18)
print(words)

执行结果:

代码语言:javascript
复制
小明 18 岁了

2.函数返回值(二)

2.1 多个返回值情况

代码语言:javascript
复制
>>> def testfunction():
...     print("---我是第一个测试用例---")
...     return 1
...     print("---我是第二个测试用例---")
...     return 2
...     print("---我是第三个测试用例---")
...
>>> num = testfunction()
---我是第一个测试用例---
>>> num
1

看上方代码,函数中包含两个 return ,在调用函数后,内部代码由上往下按顺序执行,先打印出测试数据,然后使用变量 num 接收返回值,最后查看变量 num

为什么下方的代码没有执行?那是因为 return 不仅有返回数据的功能,它还有个隐藏技能(结束函数调用),return 下方代码不会执行

有一种情况是可以在一个函数内部写多个 return 的,那便是使用条件判断语句,选择输出。

代码语言:javascript
复制
def function():
    if 条件1:
        return 返回值1
    else:
        return 返回值2

示例如下:

代码语言:javascript
复制
>>> def testfunc(age):
...     if age > 18:
...         return "可以进网吧了"
...     else:
...         return "滚回去学习"
...
>>> messages = testfunc(19)
>>> print(messages)
可以进网吧了

上面函数能够根据调用者输入的年龄,判断是否可以进入网吧。大家可以发散思维想一些生活中的场景使用代码进行实现。

2.2 函数返回多个数据

大家已经了解到 return 后方可以返回多个变量,变量之间使用逗号隔开。前面也讲到多个返回值要多个变量进行接收。下面举例查看一下:

代码语言:javascript
复制
>>> def testmanyreturn(name,age):
...     return name, age
...
>>> mes1, mes2 = testmanyreturn('Ethan', 18)
>>> print(mes1, mes2)
Ethan 18

如果多个返回值,只有一个变量接收,会出现下面的情况:

代码语言:javascript
复制
>>> def testmanyreturn(name,age):
...     return name, age
...
>>> mes = testmanyreturn('Ethan', 18)
>>> print(mes)
('Ethan', 18)

没错,程序默认会将所有的返回值保存在一个元组中,然后赋值给接收返回值的变量

也许有人会有疑问:返回值可以是什么类型的数据?

提示:返回值通过变量进行接收,那么变量都可以是什么类型呢?是否变量的所有类型都可以返回呢?

答:变量的所有类型都可以进行返回。 return 后方可以返回字符串、列表、元组、字典等所有数据类型。

3.作业

1.自定义一个有返回值的函数,调用后使用变量接收返回值。

2.自定义一个可以返回多个数据的函数,然后试验一个变量接收与多个变量接收的情况。

3.尝试返回不同的数据类型数据。

下一篇
举报
领券