返回True / False实际上做了什么? (蟒蛇)

时间:2015-02-14 06:47:55

标签: python function if-statement return

我在下面的示例代码中添加了,因此您有一个参考框架,我的问题实际上是什么。我总是看到i​​f语句返回True或False的程序,但这里实际发生了什么,为什么你不想只为false / true设置print语句。我迷失在这里。

def false(x,y):
    x > y
    return False

false(9,10)

2 个答案:

答案 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