没有返回值的函数(reverse, sort,append...)

python的有些内置方法是不返回具体的内容的,而是返回一个None。

并不是所有的函数都需要返回值,有一些函数只需要在内部处理些东西,如果要输出,可以直接通过print函数输出信息,那么在这种情况下,就没有必要返回函数。
在这里插入图片描述
如果Python函数没有返回值,千万不要把结果赋值给其他变量,因为没有返回值,被赋值的变量是空值(None类型不支持任何运算也没有任何内建方法),当你进行操作时,可能出现下面错误:

'NoneType' object has no attribute '__getitem__'
>>> a = [1,2,2,3,5]
>>> a.reverse()
>>> a
[5, 3, 2, 2, 1]
>>> b = a.reverse()
>>> b
>>> a
[1, 2, 2, 3, 5]
>>> a.append(0)
>>> a
[1, 2, 2, 3, 5, 0]
>>> c = a.append(10)
>>> c
>>> a
[1, 2, 2, 3, 5, 0, 10]
>>> a.sort()
>>> a
[0, 1, 2, 2, 3, 5, 10]
>>> d = a.sort()
>>> d
>>> type(d)
<class 'NoneType'>
>>> type(c)
<class 'NoneType'>
>>> type(b)
<class 'NoneType'>
>>> type(a)
<class 'list'>
>>>
>>> print(a)
[0, 1, 2, 2, 3, 5, 10]
>>> print(a.reverse)
None # 记住这里,如果在函数中想要翻转,别省事,否则结果可能不是你想要的,分两步返回翻转结果,如下:
>>> a
[0, 1, 2, 2, 3, 5, 10]
>>> a.reverse()
>>> print(a)
[10, 5, 3, 2, 2, 1, 0]
>>>

reverse,append,sort等方法就没有返回值,故吧b,c,d都是空的。

没有返回值,不使用return语句就可以了,或使用return语句,但return后面什么都没有。后一种情况主要是用于从函数的任意深度的代码直接跳出函数。

参考博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值