【问题标题】:What does return True/False actually do? (Python) [closed]return True/False 实际上是做什么的? (Python)[关闭]
【发布时间】:2015-04-15 07:13:03
【问题描述】:

我在下面添加了一个示例代码,以便您对我的问题的实际内容有一个参考框架。我总是看到带有返回 True 或 False 的 if 语句的程序,但是这里实际发生了什么,你为什么不只想为 false/true 放置一个打印语句。我在这里迷路了。

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

false(9,10)

【问题讨论】:

  • return True 处理 错误return False 不处理!

标签: python function if-statement return


【解决方案1】:

因为大多数时候您会想要对结果做一些事情而不是打印它。通过使用返回值,函数做了一件事:进行计算,调用者可以用它做任何事情:打印它,将它写入数据库,将它用作更大计算的一部分,等等。这个想法被称为composability

此外,您的示例目前没有多大意义,因为它在评估 x > y 后总是返回 False 但对结果不做任何事情。也许您的意思是:

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)

(在现实生活中,您可能不会使用函数来做如此琐碎的事情,但希望这个例子有意义。)

【讨论】:

  • 您介意与我分享一个示例,说明这将如何有用吗?
  • 已编辑.. 有帮助吗?
  • 我只是不明白它也被退回到哪里?在这种情况下,为什么您不应该将 return 替换为 print 。我想我只是想知道 True/False 可以用来做什么?当您运行程序时,即使调用该函数也不会发生任何事情。为什么要返回 True/False。
  • 还有一点……现在怎么样?
  • 是的,我想是的,所以它将结果存储在 x 中。如果你打印 x 它会等于真/假?
【解决方案2】:

返回 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

【讨论】:

  • 我了解它是如何工作的,当您可以在 if 语句中创建一个打印语句时,我将 return False/True 放在函数的末尾有什么意义。 True/False 也在哪里返回?
  • @HawkeyeNate 您的函数对 x,y 根本没有任何作用 - 比较被丢弃并且总是返回 false。 “返回”表示“返回父级”,而 print 只是打印到输出 - 您不能对打印的值执行任何操作,而返回的值可能存储在变量中
猜你喜欢
  • 2021-04-07
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-02
  • 2010-12-31
  • 1970-01-01
相关资源
最近更新 更多