类中的属性分为:
实例属性
类属性
类中的方法分为:
实例方法
类方法
静态方法
类中的属性
实例属性:
定义:在类的方法中定义的变量
使用:创建实例对象的时候被创建,能被实例调用,无法被类调用,可以通过实例对象动态添加
类属性:
定义:在类中方法体外的变量
使用:类对象可以直接调用,修改,实例不能直接修改,
可以通过内部公开的方法进行修改也可以通过 'del 类名.xx' 删除,无法通过实例进行删除
类中的方法
实例方法:
定义:在类中方法外
使用:不能通过'类名.xx()'调用,创建实例后可以使用'实例名.xx()'调用
可以通过'del 类名.xx'删除,不能通过'del 实例名.xx'
可以通过'type.MethodType(func,obj)'和'类名.xx'方法添加
类方法:
定义:在类中方法外,使用@classmethod修饰,必须有参数cls
使用:'类名.xx()'或'实例名.xx()'调用
可以通过'类名.xx'动态添加
静态方法:
定义:在类中方法外,使用@staticmethod修饰,不一定需要参数,在类加载时加载
使用:'类名.xx()'或'实例名.xx()'调用
可以通过'类名.xx'动态添加
动态删除属性的方法
使用del删除
通过类名只能删除类属性和类方法,不能删除实例属性和方法
通过实例名只能删除实例属性和方法,不能删除类属性和方法