python函数默认返回值_python定义函数时的默认返回值

python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None, 即隐式返回语句: return None

执行如下代码

defnow():print('2018-03-20')

直接执行函数的话,结果为:

但是如果打印函数的话

print(now())

打印结果为:

相当于执行了

defnow():print('2018-03-20')returnNoneprint(now())

如果不想要有None,那么就要添加返回值

defnow():return '2018-03-20'

print(now())

但是如果代码改成:

defnow():

return print('2018-03-20') print(now())

>>> print

打印结果还是带有 None,个人猜想如下

编辑于 2018-03-30 12:53

print 函数的打印结果

>>> print()

打印为空

>>> print(print())

None

由上述代码,可以猜测该代码的执行顺序

先执行括弧里的 print() 打印的内容为空,print函数执行完后自带换行,接着再执行括弧外的 print 函数,即打印括弧里的print() 的返回值,由此可知 print 函数的默认返回值为 None

再看如下代码

>>> print(print('123'))123None

执行顺序如上述所猜测的一样

>>> defnow():

...pass...>>> print(now())

None

定义的函数 now, 函数体为空,未设置返回值,所以 now() 执行的返回值为 None 被打印出来

>>> defnow():

...return print...>>>now

>>>now()

>>> print(now)

现在 now 函数返回值是 print函数,所以打印 now() 就是返回的 print 函数

>>> defnow():

...return print('你好')

...>>> print(now())

你好

None

分析上述代码

先执行括弧里 now(),执行now函数的语句块,now 函数只有一个返回值 print('你好'),所以先打印出字符串 '你好',由于 print函数的默认返回值是 None,最外层的 print 函数就把里层的 print 函数的返回值也打印了出来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值