class Student(object): pass s=Student() def set_age(self,age): self.age=age from types import MethodType s.set_age=MethodType(set_age,s) s.set_age(5) print(s.age)
给一个实例绑定的方法,对另一个实例是不起作用的:
s2=Student()s2.set_age(5) print(s2.age)
本文介绍如何使用Python的types模块动态地为对象实例绑定方法。通过MethodType将一个方法绑定到实例上,并演示了该方法只能被当前实例调用而不能被其他实例调用的特点。
class Student(object): pass s=Student() def set_age(self,age): self.age=age from types import MethodType s.set_age=MethodType(set_age,s) s.set_age(5) print(s.age)
给一个实例绑定的方法,对另一个实例是不起作用的:
s2=Student()s2.set_age(5) print(s2.age)

被折叠的 条评论
为什么被折叠?