为什么(lt,gt)和(le,ge)反射而不是(lt,ge)和(le,gt)?

gre*_*ard 6 python

基本自定义中,python docs说明了比较方法:

[没有这些方法的交换参数版本]; 相反,__lt__()__gt__()彼此的思考,__le__()__ge__()在对方的反映,__eq__()__ne__()有自己的思考.

我会用更少的惊讶__lt__()__ge__()是彼此的反射(,以及__le__()__gt__()).

虽然文档也说明:

......比较运营商之间没有其他隐含关系,例如,事实(x<y or x==y)并非暗示x<=y,

什么,如果有的话,是或将是选择的反射关系的理由?

Rem*_*ich 6

因为a < bb > a等同,因为a <= bb >= a.

  • 我似乎误读了_reflection_ for(logical)_complement_. (2认同)