码迷,mamicode.com
首页 > 编程语言 > 详细

Python的实例定属性和方法或类绑定方法

时间:2018-03-19 17:36:40      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:Python

一、给实例对象绑定属性和方法:
1、给实例绑定属性:先定义一个Student类


#!/usr/bin/python
class Student(object):
    pass

然后绑定属性:


s = Student()
s.name = ‘AAA‘ # 动态给实例绑定一个属性
print(s.name)#输出AAA

2、给实例绑定方法:先定义一个方法


def add(self,a,b):
    self.a = a
    self.b = b
    return self.a +self.b

然后绑定方法:

MethodType把方法绑定在类实例上时,每个实例有自己单独的指向区域,互不干扰。MethodType(方法名,实例对象)


from types import MethodType
s.add = MethodType(add,s)
print(s.add(10,20))#输出30
print(s.a)#输出10
print(s.b)#输出20

二、给类绑定方法:
用MethodType将方法绑定到类,并不是将这个方法直接写到类内部,而是在内存中创建一个link指向外部的方法,在创建实例的时候这个link也会被复制。
MethodType(方法名,类名)


Student.add = MethodType(add,Student)
s2 = Student()
print(s2.add(10,60))#输出70

#也可以把函数直接赋给类.xxx


Student.add = add
s3 = Student()
print(s3.add(10,60))#输出70

Python的实例定属性和方法或类绑定方法

标签:Python

原文地址:http://blog.51cto.com/10925348/2088596

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!