1、动态添加:

属性和方法不是在类定义的时候添加的,而是在程序运行过程中添加的

2、动态添加属性

添加方法有以下两种

  • 直接通过 对象名.属性名 进行添加

例如:p.age = 18

没有在定义类的时候添加,而是在程序运行的时候添加的

  • 通过setattr添加

对象名必须是字符串的形式

hasattr函数:

用于判断对象是否有某个属性

3、动态添加方法

(1)添加实例方法

通过types.MethodType这个方法进行添加

在types.MethodType中传谁就是获取谁的参数

(2)添加类方法

添加类方法,这个方法是直接给类的。所以不需要给对象添加,而是给类添加,所以添加方法就是直接给函数赋值给类即可

  • 添加静态方法

因为静态方法也是直接添加给类的,所以也是可以直接添加

这些方法可用于对于第三方库的更改等

4、动态删除属性

del 对象.方法

delattr(对象,“属性名”)