python的空语句_Python 函数返回空值
Python 函数返回空值,Python在所有函数的末尾添加了隐式的return None语句。因此,如果函数没有指定返回值,默认情况下会返回None。
这意味着可以用纯return语句替换return None语句,也可以直接不写return语句,结果完全相同:
def foo1(value):
if value:
return value
else:
return None
def foo2(value):
"""纯return语句,相当于`return None`"""
if value:
return value
else:
return
def foo3(value):
"""无return语句,也相当于`return None`"""
if value:
return value
如果向2这三个函数都传递假值,那么三个函数都能正常返回None:布尔计算为False的值。
>>> type(foo1(0))
>>> type(foo2(0))
>>> type(foo3(0))
那么,什么情况下才应该在自己的Python代码中使用这个特性呢?
我的经验法则是,如果函数(有些语言将其称为过程)没有返回值,那么就忽略返回语句。在这种情况下添加返回语句不仅多余,而且会带来混乱。比如Python的内置print函数就是一个过程,调用print只是为了使用函数的副作用(打印文本),永远都不是为了获得该函数的返回值。
再来看看Python内置的sum函数。这个函数显然具有一个逻辑返回值,并且通常不会仅为其副作用而调用sum。sum的目的是将一系列的数相加,然后传递结果。因此,如果一个函数从逻辑的角度来看有返回值,那么要自行决定是否使用隐式返回语句。
一方面,有人认为省略显式的return None语句能让代码更简洁,因而更易于阅读和理解。主观上也可以说这让代码“更漂亮”了。
另一方面,有些程序员很惊讶Python有这样的行为。在编写干净和可维护的代码时,出乎意料的行为通常并不是一个好兆头。
一个代码示例使用了“隐式返回语句”。代码中没有对此进行说明,本意只是想用一个简短的代码示例解释Python中的其他功能。
然而最终我收到了源源不断的电子邮件,向我指出该代码示例中“缺少return语句”。显然,并不是每个人都清楚理解Python的隐式返回行为,而且它在这个示例中还会令人分心。因此我又添加了一个注释来说明,之后就没有再收到这些电子邮件了。
不要误会,我也喜欢写出干净且“美丽”的代码。同时,我也强烈认为程序员应该清楚地了解正在使用的语言中有何细节。
不过,考虑到即使这种简单的误解对维护也有很大的影响,最好写出更明确清晰的代码,毕竟代码具有沟通作用。
Python 函数返回空值 关键要点
如果函数没有指定返回值,则返回None。是否明确地返回None是风格方面的问题。
返回空值是Python的核心功能,但是使用显式的return None语句能更清楚地表达代码的意图。
python的空语句_Python 函数返回空值相关推荐
- python函数调用位置_python函数定义,调用,传参,位置参数及关键字参数,返回值
使用函数是真正开始编程的第一步,函数y=f(x)我们并不陌生,对x进行一顿操作得到一个值y.给不同的x,进行相同的操作,得到相应的y值. 程序层面函数是执行特定任务的一段代码,将一段代码定义成函数并为 ...
- python中return返回值为函数名_Python函数返回值
Python函数返回值教程 同时,Python 函数的返回值不需要在函数的签名上体现,只需要在函数体里面直接使用 return 语句返回即可. Python函数不返回值详解 语法 def func_n ...
- python函数返回多个值_python函数返回多个值的示例方法
python可以返回多个值,确实挺方便 函数里的return只能返回一个值,但是返回类型是没是限制的 因此,我们可以"返回一个 tuple类型,来间接达到返回多个值". 例子是我在 ...
- Access数据库中Sum函数返回空值(Null)时如何设置为0
在完成一个Access表中数据统计时,需要统计指定字段的和,使用到了Sum函数,但统计时发现,指定条件查询统计时有可能返回空值(Null),导致对应字段显示为空白,正常应显示为0.基本思路是在获取记录 ...
- python函数调用语句_Python函数定义和函数调用
原标题:Python函数定义和函数调用 我们已经使用了一些python内建函数,比如print().input().str()等等. 也使用了一些python自带模块的一些库函数,比如math模块的a ...
- pythonget返回值_python 函数返回值
Python 函数返回值 一.函数返回值 返回值作用: 一旦函数调用或执行,那么函数外部的程序,就没办法控制函数的执行过程.此时外部程序只能等待函数执行结果 为什么要等待? 因为外部程序要根据函数的执 ...
- python的基本原理_Python函数基本使用原理详解
1.什么是函数 函数就相当于具备某一功能的工具 函数的使用必须遵循一个原则: 先定义 后调用 2.为何要用函数 1.组织结构不清晰,可读性差 2.代码冗余 3.可维护性.扩展性差 3.如何用函数 1. ...
- 【Python XPath】使用XPath返回空值
使用XPath返回空值 再练习使用XPath来爬取数据时,出现了以下情况,本人由于想要快捷,直接使用浏览器复制,结果返回了空的列表,为了验证,本人去浏览器搜索栏查看 一开始以为是复制错了,就自己写全 ...
- python函数能返回列表吗_Python函数返回列表还是作为生成器工作?
我正在尝试创建一个返回对象或作为生成器的函数. 这是一个坏主意,因为作为一种最佳实践,您希望函数可靠地返回相同类型的值,但为了科学的利益-- 我正在使用Python 2,因此range返回一个列表,x ...
- python中的map函数返回一个地址_python中的map函数
1.对可迭代函数'iterable'中的每一个元素应用'function'方法,将结果作为list返回. 来个例子: >>> def add100(x): ... return x+ ...
最新文章
- 【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅
- C++ 创建快捷方式
- Android 角色时间戳
- 正则表达式matches_正则表达式在VBA中间是如何应用?正则表达式的实现方式?...
- windows doc快捷键
- 做arma模型步骤_互助问答第349期:关于ARMA预测模型的问题
- Window 的版本号管理策略
- FFmpeg安装(windows环境)
- CentOS6.5利用Docker部署ShowDoc
- NeHe OpenGL教程 01 创建OpenGL窗口
- [科普文] 搞 Web3 要学习哪些基础知识?
- iOS开发脚踏实地学习day14-绘图
- 记一次酷狗音乐API的获取,感兴趣的可以自己封装开发自己的音乐播放器
- 数制中为什么1代表负号
- 超稳定的接口——淘宝/天猫获得淘宝商品详情
- 正方形、长方形、立方体
- turtle绘画,设置画布的背景图片
- 路径规划学习之地图生成(一)
- 头发合成:手绘草图妙变逼真秀发
- PHP+Mysql制作一个学生成绩查询模块