python 运算符重载的问题

东国于东 2013-06-01 10:37:38
>>>  class  Dog:
... def __cmp__(self,other):
... if other > 0 : return 1;
... elif other < 0 : return -1;
... else: return 0
...
>>> dog = Dog()
>>> if dog > -10 : print "ok"
...
>>> if dog < -10 : print "ok"
...
ok
>>> if dog == 0 : print "ok"
...
ok
>>>


这段代码一直不理解,为什么结果会是这样的,有懂的帮忙详细解释一下,谢谢了。
...全文
233 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
东国于东 2013-06-02
  • 打赏
  • 举报
回复
引用 1 楼 zhouchongzxc 的回复:
if  dog  >  -10  其实就是 if  dog.__cmp__ (-10) 大于 0  其余的两个我想应该你自己猜出来才行
明白了谢谢你的解释。 其他的运算符重载也是这样理解的吧,感觉好绕
东国于东 2013-06-01
  • 打赏
  • 举报
回复
明白了谢谢你的解释。 其他的运算符重载也是这样理解的吧,感觉好绕
ChongQingJin28 2013-06-01
  • 打赏
  • 举报
回复
if  dog  >  -10  其实就是
if  dog.__cmp__ (-10) 大于 0 

其余的两个我想应该你自己猜出来才行

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧