课程
/后端开发
/Python
/python进阶
为什么p2实例并没有绑定get_grade
2015-08-10
源自:python进阶 4-9
正在回答
因为方法也是一个属性,所以,它也可以动态地添加到实例上,只是需要用 types.MethodType() 把一个函数变为一个方法。
p1.get_grade = types.MethodType(fn_get_grade, p1, Person)
注意fn_get_grade是在类的外面,是一个函数。要将这个函数变成类的一个方法 需要通过上面这个 types.MethodType()转换,p1 有上面这个命令,即绑定get_grade,而p2没有
只绑定到了P1实例上
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计