繁体   English   中英

python 返回值 无

[英]python Return value none

我需要澄清一下。 当我使用return函数执行以下代码时,我得到的行为与使用print函数时不同。 我得到了相同的输出,但它打印了一个不在程序中的单词“none”。

import random 

# **With Return**   
def getAnswer(answerNumber): 
    if answerNumber == 1: 
        return 'It is certain' 
    elif answerNumber == 2: 
        return 'It is decidedly so' 
    elif answerNumber == 3: 
        return 'Yes' 

# **With Print**    
def getAnswer2(answerNumber):
    if answerNumber == 1:
        print('It is certain')
    elif answerNumber == 2:
        print('It is decidedly so')
    elif answerNumber == 3:
        print('Yes')

r = random.randint(1, 3) 
fortune = getAnswer(r) 
print(fortune)

fortune = getAnswer2(r) 
print(fortune)

输出是例如

Yes
Yes
None

问题是您与打印语句一起使用的函数没有返回值。 但是,您正在使用print(fortune)print(fortune)该函数的返回值。 那么如果什么都没有,它应该打印什么? 好吧,它打印None

每个 Python 函数都隐式返回None ,除非您显式返回其他内容。

在您的第一部分中,您明确返回字符串并打印该值。

在您的第二部分中,您正在打印消息,然后打印返回值( None ,隐式)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM