1.動態的建立實例方法 spa
1 class Person(object): 2 def __init__(self,name,age): 3 self.name = name 4 self.age =age 5 def eat(self): 6 print('----%s正在吃飯------' % self.name) 7 8 def run(self): 9 print('-----%s-----'%self.name) 10 11 #如何將run添加到Person類的一個實例對象中呢? 12 實例化類 13 xiaoming = Person('xm',18) 14 import type 15 xiaoming.run = types.MethodType(run,xiaoming) 16 # 運行即將run方法添加到了實例對象xiaoming中 17 xiaoming.run()
理解:以下圖code
2.動態的建立類方法&靜態方法對象
1 class Person(object): 2 def __init__(self,name,age): 3 self.name = name 4 self.age =age 5 def eat(self): 6 print('----%s正在吃飯------' % self.name) 7 # 注意這裏的@classmethod是放在類外邊的 8 @classmethod 9 def sing(cls): 10 print('-----這是一個類方法-----') 11 # 注意這裏的@staticmethod是放在類外邊的 12 @staticmethod 13 def static(): 14 print('----這是一個靜態方法--------') 15 # 爲Person類添加類方法sing 16 Person.sing = sing 17 # 爲Person類添加靜態方法static 18 Person.static = static 19 # 類調用類方法 20 Person.sing() 21 # 類調用靜態方法 22 Person.static() 23 # 實例化一個對象 24 Tom = Person('Tom',18) 25 # 對象調用類方法 26 Tom.sing() 27 # 對象調用靜態方法 28 Tom.static()