给实例动态增加方法VS给类动态增加方法

一、给实例绑定方法  object.method = MethodType(method,object)

>>>class Badbrains():

    pass

>>>def mocking(self):

  print('Brain\'s Mocking')

>>>b = Badbrains()

>>>from types import MethodType

>>>b.mocking = MethodType(mocking, b)

>>>b.mocking()   # 仅对这一个实例有用

Brain's Mocking

二、给类增加方法  class.method = method

>>>def retort(self):

  print('You Rock')

>>>Badbrains.retort = retort       # 所有实例都可以调用这个方法

>>>c = Badbrains()

>>>c.retort()

You Rock

>>>b.retort()

You Rock

 

posted @ 2019-07-20 09:25  天涯海角路  阅读(112)  评论(0)    收藏  举报