1. 程式人生 > >Python的實例定屬性和方法或類綁定方法

Python的實例定屬性和方法或類綁定方法

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的實例定屬性和方法或類綁定方法