python methodtype_Python的实例定属性和方法或类绑定方法
一、給實(shí)例對(duì)象綁定屬性和方法:
1、給實(shí)例綁定屬性:先定義一個(gè)Student類
#!/usr/bin/python
class Student(object):
pass
然后綁定屬性:
s = Student()
s.name = 'AAA' # 動(dòng)態(tài)給實(shí)例綁定一個(gè)屬性
print(s.name)#輸出AAA
2、給實(shí)例綁定方法:先定義一個(gè)方法
def add(self,a,b):
self.a = a
self.b = b
return self.a +self.b
然后綁定方法:
MethodType把方法綁定在類實(shí)例上時(shí),每個(gè)實(shí)例有自己單獨(dú)的指向區(qū)域,互不干擾。MethodType(方法名,實(shí)例對(duì)象)
from types import MethodType
s.add = MethodType(add,s)
print(s.add(10,20))#輸出30
print(s.a)#輸出10
print(s.b)#輸出20
二、給類綁定方法:
用MethodType將方法綁定到類,并不是將這個(gè)方法直接寫到類內(nèi)部,而是在內(nèi)存中創(chuàng)建一個(gè)link指向外部的方法,在創(chuàng)建實(shí)例的時(shí)候這個(gè)link也會(huì)被復(fù)制。
MethodType(方法名,類名)
Student.add = MethodType(add,Student)
s2 = Student()
print(s2.add(10,60))#輸出70
#也可以把函數(shù)直接賦給類.xxx
Student.add = add
s3 = Student()
print(s3.add(10,60))#輸出70
總結(jié)
以上是生活随笔為你收集整理的python methodtype_Python的实例定属性和方法或类绑定方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php怎么上传函数,php上传函数怎么封
- 下一篇: websocket python爬虫_p