1.类
具有相同功能或者相同属性的对象的抽象集合叫做类
2.对象
python中万物皆对象,对象就是类的一个具体实物
3.方法
就是声明在类中的动作函数
1)声明类的时候要遵守驼峰命名法
2)类中定义函数分为三类:
在类中不改变的定义为字段
在类中要改变的定义为属性
a.带self的函数 ------>对象属性或方法
b.带cls的函数 ------->类属性或方法-----@classmethod 类能做的事,cls都能做
c.无参数的静态函数------>静态方法,在函数中用不到对象属性就定义为静态函数@staticmethod
魔法方法 ---- 不需要程序员手动调用,都是在需要的时候自动调用
注意:声明函数中一样和函数一样可以传参----和函数一样的规则
注意:super()不能对静态方法使用,因为静态方法没有默认值
一般不建议在下边添加属性,都在声明属性的地方添加!!!
1)init----->在创建对象的时候就自我执行的
在继承父类的时候,要声明特殊新属性的时候,用 init 时需要在下边添加 super().__init__
这样才不会覆盖父类的属性
2)可以分支继承,也能集中继承-----但有相同的属性或方法的时候就会以放在第一个的父类为继承对象
3)在当前继承父类使用对象属性或对象方法的时候,先在当前中查找,有就结束,没有就依次向后边的父类查找执行。直到object基类都没有才报错
常用的魔法方法
1)类.name 获取类名
2)类.doc 获取说明文档
3)对象.class 获取对象的类名
4)类.dict 获取类的所有 字段=值 和 属性=值 的字典
对象.dict 获取对象的 属性=值 的字典
5)类.module 获取类所在的模块名
6)类.bases 获取当前类的所有父类
__repr__魔法方法很牛逼可以将打印得到地址的地方都以字典为元素的列表打印出来
def __repr__(self):
return str(self.__dict__)
记住啊大胸弟!!!
私有化----python中没有绝对的保密私有
在属性的前面加两个 __ 下划线可以将属性私有化
私有化的实质:将 __属性名 变成 _类__属性名 要查看私有属性就用_类__属性名查看