请问 python 的列表中,这样输入为什么是 None 呢?

2016-03-10 00:52:02 +08:00
 Pzdmultiverse

新手在学习,就是很好奇这是为什么。。呢

3037 次点击
所在节点    问与答
8 条回复
Strikeactor
2016-03-10 00:58:15 +08:00
你给了一个苹果贩子 3 块钱,他给了你一个苹果
你找了一个魔法师,他 duang 一下把你的兜里的三块钱给你变成了苹果

现在:
print 苹果贩子递给了你啥 (苹果)
print 魔法师给了你啥( None )

sort 就是那个魔法师,他不是递了一个苹果给你,而是直接把你兜里的钱修改成了苹果
Strikeactor
2016-03-10 00:59:48 +08:00
顺便你图圈错了,上边的输出才是 None
fish267
2016-03-10 01:13:04 +08:00
看看 sort 函数的返回呀
Kisesy
2016-03-10 01:15:05 +08:00
因为 sort 函数没返回值
dapang1221
2016-03-10 01:16:28 +08:00
一行的那个输出的是 sotr()的返回值。。两行的那个输出的是 letters 的(定义被输出的)值……
seki
2016-03-10 01:21:50 +08:00
简单地理解的话就是这个函数没有返回值,比如你定义

```
def bar():
i =1


print(bar())
```
结果就是 None

当然如果返回 None 或者直接只写了 return 的情况的话, print 也是 None
bigwind
2016-03-10 08:36:56 +08:00
sort 是个方法,作用在当前对象上,所以没必要有返回值, python 中没返回值的函数默认返回 None 。
如果希望有返回值,可以使用 sorted 函数。
Pzdmultiverse
2016-03-10 08:48:05 +08:00
@Strikeactor
@fish267
@Kisesy
@dapang1221
@seki
@bigwind
谢谢,谢谢,懂了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/262368

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX