def a(object, age): object.age = age class Q: pass s = Q() s.a = MethodType(a, s) s.a(18)
s.a(18)等同于a(s,18),MethodType起到的就是这个作用
因此如果运行
Q.a = MethodType(a,Q) s = Q() s.a(18)
那么s.a(18)等同于a(Q,18),因此此时改变的仅仅是Q类的静态公有变量Q.age
MethodType用形参对象填充形参函数里的未知object的位置
Sign in to make a reply
用户6589242306
s.a(18)等同于a(s,18),MethodType起到的就是这个作用
因此如果运行
那么s.a(18)等同于a(Q,18),因此此时改变的仅仅是Q类的静态公有变量Q.age