【问题标题】:Check if a function returns false in Python检查函数是否在 Python 中返回 false
【发布时间】:2012-08-19 08:10:46
【问题描述】:

在python中,我目前正在这样做:

if user_can_read(request.user, b) == False:

还有其他方法可以检查函数是否返回False

【问题讨论】:

  • if not function_return_boolean():
  • if user_can_read(request.user,b) is False:
  • BDFL 建议明确检查返回值是否是 bool 和 nhahtdh 方法的实例,如果您特别想与 False 进行比较,而不仅仅是任何虚假值,因为 is False 几乎总是一个错误。

标签: python function if-statement


【解决方案1】:

你可以使用

if user_can_read(request.user, b):
    ## do stuff

如果user_can_read 返回任何东西(0、False 等除外),它会被认为是 True,然后做一些事情。

否定:if not user_can_read(request.user, b)

【讨论】:

  • @iyrag:作为旁注,一个常见的错误是假设负数的计算结果为False。这是错误的,bool(-1) 的计算结果为 True
  • @Joel:人们真的相信负数会评估为False?这让我很吃惊。
  • @AdamRosenfield:我遇到过几次。这可能源于传统上没有结果的搜索应该返回-1(因为0被第一个索引占用)。
猜你喜欢
  • 2020-10-07
  • 2019-12-17
  • 1970-01-01
  • 2018-06-22
  • 2013-10-17
  • 1970-01-01
  • 2023-03-31
  • 2017-06-29
  • 1970-01-01
相关资源
最近更新 更多