python学习 动态添加属性和方法

 1 '''python动态添加属性和方法'''
 2 class Dog():
 3     def __init__(self,name,age):
 4         self.name=name
 5         self.age=age
 6 
 7 dog=Dog('alex',12)
 8 print(dog.name)
 9 print(dog.age)
10 
11 #添加对象属性
12 dog.add='shanghai'
13 print(dog.add)
14 #添加类属性
15 Dog.addr='上海'
16 print(Dog.addr)
17 
18 #动态添加方法一(types.MethodType):
19 def a1(self):
20     print('aaaaaaaaa-{}'.format(self.name))
21 import types
22 dog.a1=types.MethodType(a1,dog)
23 dog.a1()
24 
25 #动态添加方法二(staticmethod):
26 @staticmethod
27 def a2():
28     print('bbbbbbbbbb')
29 Dog.a2=a2
30 dog.a2()
31 
32 #动态添加方法三(classmethod):
33 @classmethod
34 def a3(cls):
35     print('cccccccc{}'.format(cls.addr))
36 Dog.a3=a3
37 dog.a3()

 

posted on 2019-08-10 16:10  cherry_ning  阅读(91)  评论(0编辑  收藏  举报

导航