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)

则可通过编译。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,802评论 18 399
  • 要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...
    victorsungo阅读 1,606评论 0 6
  • 1. 使用__slots__ 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实...
    时间之友阅读 298评论 0 1
  • 学生乐团的发展面临瓶颈的主要原因,还是生源问题。 乐团是一种多兵种协同作战的集体协作模式,需要十余种乐器,数十人共...
    雒渭阅读 284评论 3 2
  • 有人说三日不读书,则会语言乏味,面目可憎,这种说法也许略显夸张。但于我而言,三日不读书,心内则会惴惴不安,再多几日...
    跳舞的企鹅阅读 17,784评论 2 5