鱼C论坛

 找回密码
 立即注册
查看: 3317|回复: 6

[已解决]请问print(a.reverse())为啥输出'None'?

[复制链接]
发表于 2022-11-7 22:31:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
member=[123]
member.extend([234,345])
print(member,member.count(123),member.index(345))
sa=member[:]
print(sa.reverse())
print(list.reverse(sa))
ass=sa.reverse()
print(ass)
asss=list.reverse(sa)
print(asss)



以下为输出结果:
[123, 234, 345] 1 2
None
None
None
None
最佳答案
2022-11-8 07:10:56
本帖最后由 tommyyu 于 2022-11-8 17:58 编辑
>>> a = [1, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 1]
>>> print(a.reverse())
None
>>> 
在上面的一段代码中,我们在输入 a.reverse() 这一行代码后并没有在交互中看到任何东西,这说明这个函数的返回值为 None。 reverse 函数是对这个列表进行原地操作,并不会返回任何值,只会改变 a 的值。
>>> None
>>> print(None)
None
>>> 
事实上,即使我们直接输入 None , python 也不会打印任何东西,只有在 print(None) 的时候, Python 才会打印 None。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-7 22:40:11 | 显示全部楼层
本帖最后由 jackz007 于 2022-11-7 22:44 编辑

      因为列表属于可修改对象,所以,列表的方法一般都没有返回值,无返回值的函数的返回值就是 None,修改列表和打印列表必须分两句来写。
print(sa.reverse())
      必须分解为
sa.reverse()
print(sa)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-8 06:56:12 From FishC Mobile | 显示全部楼层
因为它本来就返回none
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-8 07:10:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 tommyyu 于 2022-11-8 17:58 编辑
>>> a = [1, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 1]
>>> print(a.reverse())
None
>>> 
在上面的一段代码中,我们在输入 a.reverse() 这一行代码后并没有在交互中看到任何东西,这说明这个函数的返回值为 None。 reverse 函数是对这个列表进行原地操作,并不会返回任何值,只会改变 a 的值。
>>> None
>>> print(None)
None
>>> 
事实上,即使我们直接输入 None , python 也不会打印任何东西,只有在 print(None) 的时候, Python 才会打印 None。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-8 07:25:55 | 显示全部楼层
reverse没有返回值,你可以试试
reversed(sa)
这样做应该就能返回反转后的列表了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-8 11:07:56 | 显示全部楼层


Python 中,只要函数没有设置 return 返回值,那么 Python 就默认返回一个 None

所以当你打印一个函数返回 None 时,就需要考虑这是这个函数的特殊情况,还是本身就没有设置返回值?

Python 中的很多列表方法都没有返回值,所以返回的就是None

例如:append、reverse、insert、remove、extend 等都没有返回值,因为被改变的是调用对象本身,也就是列表本身

当然也有有返回值的,例如:.pop(),它返回的也不是列表,而是列表此次被弹出的元素

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-8 17:45:55 | 显示全部楼层
感谢各位!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-24 23:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表