当前a set of functions返回success=True
或False
。如何创建返回标志对象
虽然我们发现这还不够好,因为False
既可以传达“有效结果”也可以传达“无效结果”,并且我们希望每种情况下的行为都不相同。
So I think they should be changed改为返回{True, False, InvalidResult}
,其中bool(InvalidResult)
为向后兼容性为false,但可以使用if is InvalidResult
进行测试。
我不确定这个术语是什么,但我想象的是比较函数返回的built-in NotImplemented
之类的东西。这在文档中被称为“特殊值”,并且是NotImplementedType
类型。
如何创建这样的对象以及它应具有哪些方法/属性?我也应该创建自己的类型,例如NotImplementedType
,或者是否存在传达此“标志”概念的现有类型?这是一个类似的类的对象来True
,False
,None
,NotImplemented
等
听起来像一个“tribool” ...是'None'也是一个有效的值或可能是被用来指没有结果? –
你不能使用None? BOOL(无)==假 – georgexsh
@georgexsh是的,但认为InvalidResult更清晰 – endolith