检查Python中的函数是否返回false

检查Python中的函数是否返回false,python,function,if-statement,Python,Function,If Statement,在python中,我目前正在执行以下操作: if user_can_read(request.user, b) == False: 是否有其他方法检查函数是否返回False?您可以使用 if user_can_read(request.user, b): ## do stuff 如果user\u可以读取返回任何内容(0、False等除外),则该内容将被视为True,并执行其他操作 否定:如果不是用户,则用户可以读取(request.user,b)如果不是函数,则返回布尔值():如果用

在python中,我目前正在执行以下操作:

if user_can_read(request.user, b) == False:
是否有其他方法检查函数是否返回
False

您可以使用

if user_can_read(request.user, b):
    ## do stuff
如果
user\u可以读取
返回任何内容(0、False等除外),则该内容将被视为True,并执行其他操作


否定:
如果不是用户,则用户可以读取(request.user,b)

如果不是函数,则返回布尔值():
如果用户可以读取(request.user,b)is False:
BDFL建议显式检查返回值是否是
bool
的实例,如果您特别想与
False
而不仅仅是任何falsy值进行比较,则NHAHDH的方法,因为
is False
几乎总是一个bug。@iyrag:作为旁注,一个常见的错误是假设负数的计算结果为
False
。这是错误的,
bool(-1)
的计算结果为
True
@Joel:人们真的相信负数的计算结果为
False
?“这让我很惊讶。”阿达姆罗森菲尔德:我已经遇到过好几次了。这可能源于这样一个事实:传统上,没有结果的搜索应该返回
-1
(因为
0
被第一个索引占用)。