types.MethodType实例绑定方法

Posted ceshixuexi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了types.MethodType实例绑定方法相关的知识,希望对你有一定的参考价值。

import types
def fn_get_grade(self):
    if self.score >= 80:
        return A
    if self.score >= 60:
        return B
    return C
class Person(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

交互模式可以看到

p1 = Person(Bob,90)
p1.get_grade = types.MethodType(fn_get_grade,p1)# 这里其实将p1这个实例给了一个方法fn_get_grade,且get_grade作为方法名
p1.get_grade() # ‘A‘

p2 = Person(‘Bob‘,90)
P2.get_grade() # 会报错,因为p2没有绑定方法

 




以上是关于types.MethodType实例绑定方法的主要内容,如果未能解决你的问题,请参考以下文章

python 类对象和实例对象动态添加方法

004

Python的动态添加属性与方法

Python 学习小结

IOC 控制反转Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 创建 事件监听器 对应的 动态代理 | 动态代理的数据准备 | 创建调用处理程序 | 创建动态代理实例对象 )(代码片

jQuery事件绑定和委托实例