C'est parce qu' __lt__()
et liées méthodes de comparaison est assez couramment utilisé indirectement dans la liste des tris et. Parfois, l'algorithme ne choisissez d'essayer une autre façon ou choisir un gagnant par défaut. Le déclenchement d'une exception pourrait sortir de la sorte à moins d'être pris, alors qu' NotImplemented
n'a pas soulevées et peut être utilisé dans d'autres tests.
http://jcalderone.livejournal.com/32837.html
Pour résumer ce lien:
"NotImplemented
des signaux à l'exécution qu'il devrait demander à quelqu'un d'autre pour satisfaire à l'opération. Dans l'expression a == b
, si a.__eq__(b)
retours NotImplemented
, puis de Python essaie b.__eq__(a)
. Si b
en sait assez pour revenir True
ou False
, alors l'expression de la réussite. Si elle ne le fait pas, le moteur d'exécution sera le comportement intégré (qui est basé sur l'identité pour ==
et !=
)."