MethodType 实例方法

Python3 以上已没有interitems方法。

Python3简化了绑定实例方法,可以直接写Stu.set_score = set_score 但配合__slots__使用时,不能直接简化,以下语句:

from types import MethodType
def set_city(self, city):
    self.city = city
class Student(object)
    __slots__ = ('name', 'set_city')
    pass
 Student.set_city = set_city
 s = Student()
 s.set_city('Beijing')

不能通过编译。将第7行改为

Student.set_city = MethodType(set_city, Student)

则可通过编译。

你可能感兴趣的:(MethodType 实例方法)