python3中运用types模块中的MethodType绑定方法到实例到类是非常常用的,这样可以节省大量的时间和内存,可以避免大量重写相同的方法!当然了,这也比较容易混淆!
class Student(object):
pass
def set_name(self,name):
self.name = name
def set_age(self,age):
self.age = age
def set_sc(self,x,y):
self.x = x
self.y = y
x1 = Student() #类的实例化
x2 = Student()
x1.set_age = MethodType(set_age,x1) #实例绑定一个方法
x2.set_age = MethodType(set_age,x2)
Student.setsc = MethodType(set_sc,Student) #另一种绑定
Student.set_name = MethodType(set_name,Student) #给此类绑定一个方法
x1.set_age(12) #初始化
x2.set_age(13)
x1.setsc("xmc","xu")
Student.set_name("hhh")
print(x1.age) #12
print(x2.age) #13
print(x1.x,x1.y) #xmc xu
print(x1.name) #hhh
print(x2.name) #hhh
代码亲测可用,大家可以调试,这是刚刚从notepad++上copy下来的,当然了,也是刚刚写完的,毕竟写一个博客时间太长了,只能粗糙一点了,毕竟时间不多!