面向对象之类的基础重载

ぐ巨炮叔叔 提交于 2019-12-02 23:33:35
通用的基础重载方法:
__init__ ( self [,args...] )
构造函数
简单的调用方法: obj = className(args)
__del__( self )
析构方法, 删除一个对象
简单的调用方法 : del obj
__repr__( self )
转化为供解释器读取的形式
简单的调用方法 : repr(obj)
__str__( self )
用于将值转化为适于人阅读的形式
简单的调用方法 : str(obj)
__cmp__ ( self, x )
对象比较
简单的调用方法 : cmp(obj, x)
 
 
Python支持运算符重载,实例如下:
class Vector:
   def __init__(self, a, b):
     self.a = a
     self.b = b
 
   def __str__(self):
     return 'Vector (%d, %d)' % (self.a, self.b)
   
   def __add__(self,other):
     return Vector(self.a + other.a, self.b + other.b)
 
v1 = Vector(2,10)
v2 = Vector(5,-2)
print v1 + v2
 
输出:
Vector(7,8)
 
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!