免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3668 | 回复: 2
打印 上一主题 下一主题

请解释一下“operator overload"的概念 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-08 23:46 |只看该作者 |倒序浏览
一直都理解吾不 operator overload是一什么的概念,请给出些解释或者给点相关资料都行,谢谢各位

论坛徽章:
0
2 [报告]
发表于 2006-04-10 11:44 |只看该作者
>>> class TInt:
        def __init__(self, v):
                self.v = v
        def __ge__(self, other):
                return self.v >= other.v

       
>>> TInt(1) > TInt(2)
False
>>> TInt(2) > TInt(1)
True
>>>


and ,  consult 'Python Reference Manual' 3.3 Special method names

论坛徽章:
0
3 [报告]
发表于 2006-04-12 13:38 |只看该作者
就是 你可以  自定义  对一个class的 instance 进行操作 时 这些操作符的意义
class Number:
    def  __init__(self. start):        #把‘call’  overload为 向 self.date 赋值
         self.date = start
    def __sub__(self, other):       # 把 ‘-’ 操作 overload 为  ’*‘ 操作 (以self.date为对象)
         return  self.date * other
>>> X = Number(3)
>>> Y = X - 2
6

python中几乎所有操作 你都可以在自己的class中 OverLoad
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP