是否有更多的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 True
或is False
,如果必须具有三态布尔值,请使用:
if res is None: # handle None case elif res: # handle true case else: # handle false case
例如,让开发人员负担正确地使用三态.
如果函数需要传达更多状态,则不应使用布尔值; 在这种情况下切换到使用枚举值.
不,你已经覆盖了它.
通常,不要使用is True
或is False
,如果必须具有三态布尔值,请使用:
if res is None: # handle None case elif res: # handle true case else: # handle false case
例如,让开发人员负担正确地使用三态.
如果函数需要传达更多状态,则不应使用布尔值; 在这种情况下切换到使用枚举值.