Pzdmultiverse
V2EX  ›  问与答

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

  •  
  •   Pzdmultiverse · Mar 10, 2016 · 3668 views
    This topic created in 3727 days ago, the information mentioned may be changed or developed.

    为什么是 None 呢?

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

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

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

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

    ```
    def bar():
    i =1


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

    当然如果返回 None 或者直接只写了 return 的情况的话, print 也是 None
    bigwind
        7
    bigwind  
       Mar 10, 2016
    sort 是个方法,作用在当前对象上,所以没必要有返回值, python 中没返回值的函数默认返回 None 。
    如果希望有返回值,可以使用 sorted 函数。
    Pzdmultiverse
        8
    Pzdmultiverse  
    OP
       Mar 10, 2016 via Android
    @Strikeactor
    @fish267
    @Kisesy
    @dapang1221
    @seki
    @bigwind
    谢谢,谢谢,懂了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2464 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 01:08 · PVG 09:08 · LAX 18:08 · JFK 21:08
    ♥ Do have faith in what you're doing.