python返回值无
问题描述:
我需要一些说明。当我使用return
函数执行下面的代码时,从使用print
使用函数时得到不同的行为。我得到相同的输出,但它打印出一个不包含在程序中的单词“none”。python返回值无
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)
行打印该函数的返回值。那么如果没有什么东西,它应该打印什么?那么,它打印None
。
答
每个Python函数都会隐式返回None
,除非您明确地返回其他内容。
在您的第一部分中,您显式返回字符串并打印该值。
在第二部分中,您正在打印该消息,然后打印返回值(隐式地为None
)。
+0
谢谢兄弟.. –
谢谢兄弟.. –