python3中的types模块MethodType绑定方法

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下来的,当然了,也是刚刚写完的,毕竟写一个博客时间太长了,只能粗糙一点了,毕竟时间不多!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值