当前位置:  开发笔记 > 编程语言 > 正文

检查无,假,真

如何解决《检查无,假,真》经验,为你挑选了1个好方法。

是否有更多的Pythonic方法来实现此逻辑:

res = func()

if res is not None:         # res is either True, False, something else
    if res is True:                 
        #do something       # res is True
    elif res is False:                   
        #do something else  # res is False
    else:
        #do something else2 # res is not in [True,False]
else:                       
    #failed                 # res is None

Martijn Piet.. 6

不,你已经覆盖了它.

通常,不要使用is Trueis False,如果必须具有三态布尔值,请使用:

if res is None:
    # handle None case
elif res:
    # handle true case
else:
    # handle false case

例如,让开发人员负担正确地使用三态.

如果函数需要传达更多状态,则不应使用布尔值; 在这种情况下切换到使用枚举值.



1> Martijn Piet..:

不,你已经覆盖了它.

通常,不要使用is Trueis False,如果必须具有三态布尔值,请使用:

if res is None:
    # handle None case
elif res:
    # handle true case
else:
    # handle false case

例如,让开发人员负担正确地使用三态.

如果函数需要传达更多状态,则不应使用布尔值; 在这种情况下切换到使用枚举值.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有