前言
以下都是本人亲测,如有不妥之处,希望多多评论,以便改善,谢谢啦~
你是否有被MethodType、类和方法搞得一头雾水。不妨来看看我的测试,当然也可以看看官方文档,那里也更加正确!
以下是本篇文章正文内容,下面案例供参考:
常见的五种
先写出如下代码(示例):
from types import MethodType
class Student:
pass
A=Student()
B=Student()
def f(self, x):
self.x = x
1.前后都相同实例
前后都是A,则说明只给A绑定方法,B无法调用,此时
A.f(555) == A.x=555
代码如下(示例):
A.f = MethodType(f, A)
A.x=55
print(A.x)#55
A.f(44)
print(A.x)#44
print(B.x) #'Student' object has no attribute 'x'
print(Student.x)