python types模块MethodType的一个例子

来源:互联网 发布:源码怎么用 编辑:程序博客网 时间:2024/05/18 00:26

    MethodType用来将方法绑定到类,下面是一个栗子:

from types import MethodTypeclass student(object):    passdef set_age(self,age):    self.age = agedef set_name(self,name):    self.name = namedef set_school(self,country,school):    self.country = country    self.school = schools1 = student()s2 = student()# 一种实例绑定s1.setname = MethodType(set_name, s1, student)s2.setname = MethodType(set_name, s2, student)# 另一种实例绑定的方式student.setSc = MethodType(set_school, None, student)#类绑定student.setage = MethodType(set_age,student)#第一种实例绑定函数的调用s1.setname(u"韩梅梅")s2.setname(u"李雷")#第二种实例绑定的调用s1.setSc("Shannx1","School1")#类绑定的调用student.setage(10)print s1.name                   #韩梅梅print s2.name                   #李雷print s1.country,s1.school      #Shannx1 School1try:    print s2.country,s2.schoolexcept Exception as e:    print e                     #'student' object has no attribute 'country'print s1.age                    #10print s2.age                    #10s1.setage(18)                   #实例修改年龄print s1.age                    #18print s2.age                    #18


记录一下。

原创粉丝点击