[英]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.