摘要:
数据类型分类 可变:对原数据可以进行改变 不可变:对原数据不能进行任何改变 可变(不可哈希)数据类型:列表(list)、字典(dict)、集合(set) 不可变(可哈希)数据类型:数字(int)、字符串(str)、元组(tuple)、布尔值(bool) 字符串 优点 str用于存储少量的数据 str 阅读全文
摘要:
能定义在类中的内容 静态变量 :是所有对象的共享变量 不能重新赋值 绑定方法:自带self的函数 也是有对象调用 类方法 : 是个自带cls参数的函数 由对象或者类调用 静态方法:啥都不带,相当于一个普通函数 由对象或者类调用 property属性 伪装成属性的方法 由对象调用,但不加括号 阅读全文
摘要:
反射 用字符串数据类型的名字,来操作这个名字对应的函数/实例变量/绑定方法/各种方法 使用场景: 反射对象的实例变量 反射类的静态变量/绑定方法、其他方法 反射模块当中的所有变量(被导入的叫模块),当前执行的文件叫脚本) getattr getattr(对象/地址,要调用的属性或方法) 最后得到一个 阅读全文
摘要:
魔法方法 __call__ __call__对象()调用的是这个类中的__call__下面的逻辑 如果类中有__call__这个方法,那就证明这个类的对象是可以被调用的 class Longin: def __call__(self, *args, **kwargs): print(' ') obj 阅读全文
摘要:
property 法伪装成属性 把一个方法伪装成一个属性,在调用这个方法的时候不用加()就可以直接得到返回值 装饰的这个方法是不能有参数的 from math import pi #pi是圆周率 class Circle(object): def __init__(self,r): self.r=r 阅读全文
摘要:
封装 什么是封装? 就是把属性或者方法装起来 广义上的封装 把属性和方法装起来,外面不能直接调用,要通过类的名字调用 狭义上的封装 把属性和方法藏起来,外面不能调用,只能在内部调用 给一个名字前面加上双下划线的时候,这个名字就变成了一个私有的(私有的实例变量/私有的属性) 所有的私有内容或者名字都不 阅读全文
摘要:
多态 因为python中变量不用声明,所以不存在父类引用指向子类对象的多态类型,同时python不支持重载,所以python的使用没有java那么明显,所以在python中刻意提到多态的意义不是特别大 什么是多态? 一个类表现出来的多种形态,实际上是通过继承来完成的,主要指的是多个子类继承自一个父类 阅读全文
摘要:
抽象类 抽象类是一个开发的规范,约束它的所有子类必须实现一些和它同名的方法 方式一:好处不用依赖包 class Payment: #Payment就是抽象类 def pay(self,money): raise NotImplemented('请在子类中写同名pay方法') class Ailpay 阅读全文
摘要:
继承的基础语法 继承的优点:解决代码的重复性 继承的加载过程 继承过程: 实例化对象的时候,先开辟空间,空间里有一个类指针,指向Cat, 调用init的时候先在自己的空间中寻找,如果找不到先去就去Cat(如果是继承Cat类中会保存Anmial(父类)的内存地址)类空间中寻找 如果Cat类中也没有,就 阅读全文
摘要:
面向对象的组合 组合:一个类的对象是另一个对象的属性 # 学生类 姓名,性别,年龄,学号,班级,手机号 # 班级类 班级名字 开班级时间 当前讲师 class Student: def __init__(self,name,sex,age,number,clas,phone): self.name= 阅读全文