Discuss / Python / 讲得有点太简单了

讲得有点太简单了

Topic source

Tiko_T

#1 Created at ... [Delete] [Delete and Lock User]

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

  • 1

Reply