我在下面的示例代码中添加了,因此您有一个参考框架,我的问题实际上是什么。我总是看到if语句返回True或False的程序,但这里实际发生了什么,为什么你不想只为false / true设置print语句。我迷失在这里。
def false(x,y):
x > y
return False
false(9,10)
答案 0 :(得分:6)
因为大多数时候你会想要对结果做些什么而不是打印它。通过使用返回值,该函数执行以下操作:执行计算,调用者可以使用它执行任何操作:打印它,将其写入数据库,将其用作更大计算的一部分,无论如何。这个想法叫做composability。
此外,您的示例目前没有多大意义,因为在评估False
后它总是会返回x > y
,但对结果不做任何操作。也许你的意思是:
def is_greater(x, y):
if x > y:
return True
else:
return False
然后is_greater
可以在任何你想要的环境中轻松使用。你可以这样做:
x = is_greater(a, b)
write_to_super_secret_database(x)
(在现实生活中,你可能不会使用函数做一些如此微不足道的事情,但希望这个例子有意义。)
答案 1 :(得分:5)
返回True / False的函数用于其他语句,如IF:
像这样:
def is_bigger(x,y):
return x > y
if is_bigger(10,9):
do_something
elif:
print "math don't work anymore"
你应该看看变量和控制结构: http://www.tutorialspoint.com/python/python_if_else.htm