V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Pzdmultiverse
V2EX  ›  问与答

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

  •  
  •   Pzdmultiverse · 2016-03-10 00:52:02 +08:00 · 3139 次点击
    这是一个创建于 3187 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为什么是 None 呢?

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

    8 条回复    2016-03-10 08:48:05 +08:00
    Strikeactor
        1
    Strikeactor  
       2016-03-10 00:58:15 +08:00
    你给了一个苹果贩子 3 块钱,他给了你一个苹果
    你找了一个魔法师,他 duang 一下把你的兜里的三块钱给你变成了苹果

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

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

    ```
    def bar():
    i =1


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

    当然如果返回 None 或者直接只写了 return 的情况的话, print 也是 None
    bigwind
        7
    bigwind  
       2016-03-10 08:36:56 +08:00
    sort 是个方法,作用在当前对象上,所以没必要有返回值, python 中没返回值的函数默认返回 None 。
    如果希望有返回值,可以使用 sorted 函数。
    Pzdmultiverse
        8
    Pzdmultiverse  
    OP
       2016-03-10 08:48:05 +08:00 via Android
    @Strikeactor
    @fish267
    @Kisesy
    @dapang1221
    @seki
    @bigwind
    谢谢,谢谢,懂了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2783 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:46 · PVG 20:46 · LAX 04:46 · JFK 07:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.