我需要澄清一下。当我使用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
答案 0 :(得分:0)
问题是您使用print语句的函数没有返回值。但是,您使用行print(fortune)
打印该函数的返回值。那么如果那里什么都没有,它应该打印什么呢?好吧,它会打印None
。
答案 1 :(得分:0)
除非您明确返回其他内容,否则每个Python函数都会隐式返回None
。
在第一部分中,您将显式返回字符串,并打印该值。
在第二部分中,您将打印邮件,然后隐式打印返回值(None
。)