Discuss / Python / 打卡

打卡

Topic source
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的位置


  • 1

Reply