动态添加实例方法:
使用types.MethodType这个方法,示例代码如下:
import types
class Person(object):
def __init__(self,name):
self.name = name
def run(self):
print('%s在奔跑' % self.name)
p1 = Person('p1')
p1.run = types.MethodType(run,p1)
p1.run()
其中types.MethodType的第一个参数是这个函数本身,第二个参数是在调用run这个函数的时候,传给run方法的第一个参数。
Python支持运算符重载,实例如下:
实例
#!/usr/bin/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)