类的私有方法,类方法,静态方法等
方法/属性的类型 | 方法表示 | 特点 |
---|---|---|
类方法 | @classmethod def 方法体: | 则这个方法一般是类的方法,即类.方法。一般不给实例化对象来使用。 |
私有方法 | def __方法名: | 在方法名的前面加__表示这是私有方法。所谓私有方法,就是只能由类本身来使用。其子类不能使用,实例化的对象也不能使用。 |
保护方法 | def _方法名: | 在方法名前面加_表示这是保护方法。所谓的保护方法,就是只能类本身或子类来使用。其实例化对象不能使用 |
私有变量 | __变量 | 在变量前加__表示这是一个私有变量,所谓私有变量就是只能类本身来访问,其子类与实例化对象都不能使用。 |
保护变量 | _变量 | 在变量前加_表示,这是一个保护变量,所谓保护变量就是只能由类和子类使用。实例化对象不能使用。 |
静态方法 | @staticmethod def 方法体: | 静态方法就会将这个方法与类的关系切断,即传入的self失效,它就变成了普通函数,与写在类之外的函数一模一样,不再是类的方法了。 |
注意:在python中,(特殊)对象直接访问私有变量的方法:对象._类名__变量
附加:
子类继承父类时,调用父类的方法1:父类名.方法(self,参数) =>适用于使用父 类的__init__,并且是多个父类
方法2:super(子类名,self).方法(参数) =>适用于 使用父类的init,并且是一个父类,方法 里不用写self