python定义函数时的默认返回值
2018-06-18 01:59:24来源:未知 阅读 ()
python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None, 即隐式返回语句: return None
执行如下代码
def now(): print('2018-03-20')
直接执行函数的话,结果为:
但是如果打印函数的话
print(now())
打印结果为:
相当于执行了
def now(): print('2018-03-20') return None print(now())
如果不想要有None,那么就要添加返回值
def now(): return '2018-03-20' print(now())
但是如果代码改成:
def now():
return print('2018-03-20')
print(now())
>>> print <built-in function print>
打印结果还是带有 None,个人猜想如下
编辑于 2018-03-30 12:53
print 函数的打印结果
>>> print()
打印为空
>>> print(print()) None
由上述代码,可以猜测该代码的执行顺序
先执行括弧里的 print() 打印的内容为空,print函数执行完后自带换行,接着再执行括弧外的 print 函数,即打印括弧里的print() 的返回值,由此可知 print 函数的默认返回值为 None
再看如下代码
>>> print(print('123')) 123 None
执行顺序如上述所猜测的一样
>>> def now(): ... pass ... >>> print(now()) None
定义的函数 now, 函数体为空,未设置返回值,所以 now() 执行的返回值为 None 被打印出来
>>> def now(): ... return print ... >>> now <function now at 0x000001BECE4C3840> >>> now() <built-in function print> >>> print(now) <function now at 0x000001BECE4C3840>
现在 now 函数返回值是 print函数,所以打印 now() 就是返回的 print 函数
>>> def now(): ... return print('你好') ... >>> print(now()) 你好 None
分析上述代码
先执行括弧里 now(),执行now函数的语句块,now 函数只有一个返回值 print('你好'),所以先打印出字符串 '你好',由于 print函数的默认返回值是 None,最外层的 print 函数就把里层的 print 函数的返回值也打印了出来
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Linux下安装Python3
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash