Return 不输出任何值,但是 print 输出任何值。 Python 解释器问题?

Return does not output any value, however, print does. Python interpreter problem?

def x1():
    y = input("Input pet here: ")
    if y == "pet":
        return True
    else:
        return False
x1()

def x2():
    y = input("Input pet here: ")
    if y == "pet":
        print(y)
    else:
        print("not a pet")
x2()

输出: C:\Users\jiraf\AppData\Local\Programs\Python\Python39\python.exe "C:/Users/jiraf/OneDrive/Documents/Grzegorz/Programowanie/Python/kurs/1.02/Wykład 1.8 Funkcje (definiowanie, argumenty).py"

在这里输入宠物:狗屎 在这里输入宠物:狗屎 不是宠物

进程已完成,退出代码为 0

我尝试了很多简单的功能,这些功能应该 return 一些东西

我不知道为什么会这样。

这绝对不是解释器的问题。我不太清楚你 运行ning 是哪个编辑器,但我很确定像 Jupyter 这样的编辑器只会打印块中最后执行的行。这很可能是这里发生的事情。你应该 运行 print(x1()) 或类似

x = x1()
y= x2()
print(x)
print(y)

return 不打印输出,它只是 returns 函数结果。您可能在使用 python shell 时看到过此打印,因为它出于某些需要的原因打印结果。

要打印第一个函数,您必须像这样打印被调用的函数

print(x1())