定义:在类中将方法和属性隐藏起来
1、格式
__名字,在名字前加双下划线
2、私有化对象
对象属性
静态属性
普通方法
3、作用
1)在类的外面不能直接调用类的方法和属性
2)类的属性值不能随意更改
3)子类不能通过继承获取父类的私有化属性和方法
4、实质
在代码层次做了变形,在类的外部仍可通过 对象名或类命_类命__名字,来调用,不推荐使
1、property是内置装饰函数,只在面向对象中使用
2、作用
方法属性,给方法加上装饰器,可以在类的外部直接调用方法名而不是调用方法名()
动词:方法,名词:属性
3、修改
属性私有化,在类的外部不改变该属性的调用方法
3、删除
不常用
4、总结
1)property是内置装饰器
2)查
私有化属性,可以通过定义同名方法和property装饰器,而不改变在类外部的调用方法
3)改
查实现后,才能实现删
通过同方法.setter装饰器,装饰同名方法来修改私有化属性,而不改变在类外部的修改方法
4)删
类方法
作用:把一个对象方法,变成类方法,调用该方法可以直接通过类,而不需要对象
格式:有一个默认参数,cls
什么时候用到:一个方法与私有化静态属性产生联系
静态方法
1)作用
在完全面向对象的程序中,若果一个函数,即和对象没有关系,也和类没有关系,那么就可以用staticmethod装饰该函数,作为类的静态方法
2)细节
静态方法在类的内部,在静态方法中可以直接调用类,在类的外部可以通过类名调用静态方法
类方法和静态方法小结
1、都通过类名调用
2、类方法有一个默认参数,静态方法没有
3、类方法:和静态属性有关,通过类直接调用方法,不需要通过对象
4、静态方法:和类及对象没有关系,但又是必要的方法,python可以不用(面向对象和面向函数),完全面向对象必须用