前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天 3 分钟,小闫带你学 Python(二十)

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

作者头像
小闫同学啊
发布2019-08-13 15:33:32
3040
发布2019-08-13 15:33:32
举报
文章被收录于专栏:小闫笔记

正文共: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.尝试返回不同的数据类型数据。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 每日分享
  • 前言
  • 学习目标
  • 1.函数返回值(一)
    • 1.1 返回值介绍
      • 1.2 有返回值函数
      • 2.函数返回值(二)
        • 2.1 多个返回值情况
          • 2.2 函数返回多个数据
          • 3.作业
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档