python動態添加屬性和方法


---恢復內容開始---

python動態添加屬性:

 1 class Person(object):
 2     def __init__(self,newName,newAge):
 3         self.name = newName
 4         self.age = newAge
 5         
 6 laowang = Person("laowang",20)
 7 print(laowang.name)
 8 print(laowang.age)
 9 laowang.addr = "北京"#動態添加的屬性addr
10 print(laowang .addr)

python動態添加方法:

 1 import types
 2 class Person(object):
 3     def __init__(self,newName,newAge):
 4         self.name = newName
 5         self.age = newAge
 6     def eat(self):
 7         print("...%s正在吃。。"%self.name)    
 8 def run(self):
 9     print("...%s正在跑。。"%self.name)
10 Wang = Person("laowang",20)
11 Wang.eat()
12 Wang.run = types.MethodType(run,Wang)#將run這個函數添加為方法
13 Wang.run()

python添加靜態方法和類方法,注意點,靜態方法和類方法都是與類關聯的

 1 class Person(object):
 2     def __init__(self,newName,newAge):
 3         self.name = newName
 4         self.age = newAge
 5     def eat(self):
 6         print("...%s正在吃。。"%self.name)    
 7 @staticmethod#靜態方法
 8 def test():
 9     print("...static method...")
10 @classmethod#類方法
11 def test1(cls):
12     print("...class method...")
13 laowang= Person("laowang",20)
14 Person.test = test#添加靜態方法,靜態方法跟着類走的
15 Person.test()
16 Person.test1 = test1#添加類方法,類方法跟着類走的
17 Person.test1()

 

 

 

---恢復內容結束---


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM