Actuellement a set of functions retours success=True
ou False
.Comment créer un objet de drapeau de retour
Nous avons découvert que ce n'est pas assez bon, car False
peut transmettre à la fois "résultat valide" ou "résultat invalide", et nous voulons que le comportement diffère dans chaque cas.
So I think they should be changed pour revenir à la place {True, False, InvalidResult}
, où bool(InvalidResult)
est faux pour la compatibilité descendante, mais peuvent être testés pour l'utilisation if is InvalidResult
.
Je ne suis pas sûr de ce que la terminologie est, mais j'imagine quelque chose comme le built-in NotImplemented
qui est retourné par les fonctions de comparaison. On appelle cela une « valeur spéciale » dans la documentation et est de type NotImplementedType
.
Comment créer un tel objet et quelles méthodes/attributs doit-il avoir? Je crée mon propre type comme NotImplementedType
aussi, ou est-il un type existant qui véhicule ce concept « drapeau »? Il est une sorte d'objet similaire à True
, False
, None
, NotImplemented
, etc.
Sonne comme un « tribool » ... Est-ce 'none' aussi une valeur valide ou pourrait-il être utilisé pour signifier aucun résultat? –
ne pouvez-vous pas utiliser Aucun? bool (Aucun) == Faux – georgexsh
@georgexsh Oui, mais on pensait que InvalidResult est plus clair – endolith