MethodType绑定实际上就是将第二个参数作为self传入方法,所以说绑定的方法必须要有self,而直接赋值就是没有这一步,所有行为都可以这样来理解。给一个对象绑定是self是另一个对象都可以。太自由了,不知道是好还是坏。
class Student(object): __slots__ = ("name", "age", "getName") s = Student() s.age = 10 s.name = "Adam" def getName(self): return self.name s2 = Student() s2.age = 20 s2.name = "lisa" s2.getName = MethodType(getName, s) print(s2.getName()) # adam
Sign in to make a reply
Tiko_T
MethodType绑定实际上就是将第二个参数作为self传入方法,所以说绑定的方法必须要有self,而直接赋值就是没有这一步,所有行为都可以这样来理解。给一个对象绑定是self是另一个对象都可以。太自由了,不知道是好还是坏。