快速问题,因为我在网上找不到足够的答案。
以下代码片段:
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