Python:为什么我们在函数中使用布尔值来返回主程序中的print语句



快速问题,因为我在网上找不到足够的答案。

以下代码片段:

def Credentials (x, y):
list = [("test", 1234), ("test2", 4567)]
for list in list:
if list[0] == userinput1 and list[1] == userinput2:
print("success")
return True
else:
print("error")
return False
userinput1 = str(input("provide username: "))
userinput2 = int(input("provide PW: "))
Credentials(userinput1, userinput2)

我不完全理解为什么布尔值True和False会返回print语句。我知道我们在主程序中使用return语句来处理函数,我们也可以定义变量并返回这些变量。但是,为什么返回布尔值会给我们打印输出呢?

非常感谢。

简短回答:它不是

在您的功能中/在下面显示的我的功能中

def returnBools():
(print)  print('Printed')
(return) return True
print(returnBools())

print函数和return语句实际上是两个不同的东西。print与return无关,return语句也不会触发print函数。

此外,我们调用函数的方式可以影响输出

例如,打印函数print(returnBools())将显示返回值以及我们的函数中的任何打印函数

输出

Printed
True

但假设我们没有打印函数,只调用了它.returnBools()。在这种情况下,返回的值将不会显示,只显示打印的值。

输出

Printed

最新更新