【问题标题】:Why is this printing 'None' in the output? [duplicate]为什么在输出中打印“无”? [复制]
【发布时间】:2015-05-02 23:39:08
【问题描述】:

我定义了一个函数如下:

def lyrics():
    print "The very first line"
print lyrics()

但是为什么输出返回None

The very first line
None

【问题讨论】:

    标签: python nonetype


    【解决方案1】:

    因为有两个打印语句。一是内部功能,二是外部功能。当函数不返回任何内容时,它会隐式返回None

    在函数末尾使用return 语句返回值。

    例如:

    返回None

    >>> def test1():
    ...    print "In function."
    ... 
    >>> a = test1()
    In function.
    >>> print a
    None
    >>> 
    >>> print test1()
    In function.
    None
    >>>
    >>> test1()
    In function.
    >>> 
    

    使用返回语句

    >>> def test():
    ...   return "ACV"
    ... 
    >>> print test()
    ACV
    >>> 
    >>> a = test()
    >>> print a
    ACV
    >>> 
    

    【讨论】:

    • 嘿,你能告诉我代码有什么问题吗?它只返回最后一位 def another(n): rev = 0 while(n>=0): rem=n%10 rev = (10*rev)+ n%10 n //= 10 return rev print another(2154)输出:4
    • @def_0101:好的,你在做什么?倒数??
    • 是反向整数
    • @def_0101: def another(n): rev = 0 while(n!=0): rev = rev*10 + n%10 n //= 10 return rev check .. 在下一条评论中添加解释。
    • @def_0101:对于 Reverse,我们需要从最后一个到第一个的数字中获取数字,并通过将这些数字与 0、10、100、1000 的倍数相加来创建新数字... 1. 如何获取最后一位:使用% 操作获取您完成的最后一位。 2.将输入数字减少/除10,这也你完成了。 3.通过将%运算的结果添加到10的倍数的反向数字来创建反向数字。让我知道
    【解决方案2】:

    由于双重打印功能。我建议你在函数定义中使用return 而不是print

    def lyrics():
        return "The very first line"
    print(lyrics())
    

    def lyrics():
        print("The very first line")
    lyrics()
    

    【讨论】:

    • 有没有其他方法可以使用 print 语句?
    • 只需lyrics() 就足够了。
    • 谢谢 () 我是菜鸟,对编​​程很陌生
    猜你喜欢
    • 2022-11-27
    • 2023-01-11
    • 2015-02-23
    • 2021-08-06
    相关资源
    最近更新 更多