python操作符重写,实现+操作符详解编程语言

import string 
class spam: 
    def __init__(self): 
        self.eggs = 1 
    def __del__(self): 
        pass 
    def __add__(self,other): 
         rt = spam() 
         rt.eggs = self.eggs + other.eggs 
         return rt 
    def __coerce__(self,other): 
         rt = spam() 
         if type(other) == type(rt): 
             return (self,other) 
         elif type(other) == type(''): 
             e = string.atoi(other) 
             rt.eggs = e 
             return(self,rt) 
         else: 
             return None 
    def __radd__(self,other): 
         return self + other 
 
if __name__ == '__main__': 
     a = spam() 
     b = spam() 
     a = a + b 
     print 'a now has', a.eggs, 'eggs' 
     a = a + '24' 
     print 'a now has', a.eggs, 'eggs' 
     a = '24' + a 
     print 'a now has', a.eggs, 'eggs' 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8213.html

(0)
上一篇 2021年7月18日 19:30
下一篇 2021年7月18日 19:30

相关推荐

发表回复

登录后才能评论