摘要:
数据结构 内置数据结构 字典 结构:key-value通过key找value 列表[] 结构:通过index取值非常快 元组() 集合{1,2,} 字符串 不是python内的数据结构 Queue队列:先进先出 FIFO (FIRST IN FIRST OUT ) Stack 栈:后进先出:LIFO 阅读全文
摘要:
一、性质不同: 数据结构:是计算机存储、组织数据的方式,简单来说就是数据的逻辑或物理存储的方式,可以用来存储数据和使用特定的方法来检索或操作数据的方法 数据类型(数据元):是用一种属性描述其定义、标识、表示和允许值的数据单元 二、作用不同 数据结构:通常情况下,精心选择的数据结构可以带来更高的运行或 阅读全文
摘要:
集合 set,容器行数据类型,它要求它里面的元素是不可变的数据,但是它本身是可变数据类型 set是无序的 集合的作用: 列表的去重 关系测试:交集,并集,差集。。。 集合增 set2={'xiaoxiannv','wamgminmin',1,2,'xiaotong'} # 方式一 set2.add( 阅读全文
摘要:
字典 用括起来,以键值对存储的容器型数据类型 键(唯一的):必须是不可变的数据类型(常用:str,int) 值:可以是任意数据类型、对象 字典3.5x版本之前(包括3.5)是无序的。 字典3.6x会按照初次建立字典的顺序排列,学术上不认为是有序的。 字典3.7x之后都是有序的。 优点: 存储数据关联 阅读全文
摘要:
# list > tupy enumerate()可以将列表转换成元组的形式(索引,列表内容),然后进行拆包 goods=[ {'name':'电脑','price':1999}, {'name':'鼠标','price':10}, {'name':'游艇','price':888}, {'name 阅读全文
摘要:
元组 只读列表(没有增删改,只能读),可以存储大量的数据,可以索引,切片(步长) 经常用于一些不想被别人改动的数据,元组里的元素如果有列表,列表里的元素可以被修改 元组的拆包,分别赋值 元组拆包赋值 a,b=(1,2) #必须与之对应多一个少一个都不行 print(a,b) 元组补充 当元组中只有一 阅读全文
摘要:
列表 优点: list可以承载任意数据类型,并且可以存储大量数据 python常用的容器型数据类型。java:数组 列表是有序的,可索引,切片(步长)。 列表可以相加,相乘 缺点: 列表数据关联性不是很强 列表查询速度比较慢 ## 列表的创建 方式一: s1=[123,'qwe',[1,2,3]] 阅读全文
摘要:
数据类型分类 可变:对原数据可以进行改变 不可变:对原数据不能进行任何改变 可变(不可哈希)数据类型:列表(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= 阅读全文
摘要:
初始面向对象 python中一切皆对象 面向过程和面向对象得区别: 面向过程:想要一个结果 写代码 实现结果 面向对象:有哪些角色,角色的属性和技能 ,角色之间的交互关系 面向对象适用场景: 复杂的,拥有开放式结局的程序,比较适合使用面向对象 游戏(人物多,技能多) 购物 面向对象基础语法 自己了解 阅读全文
摘要:
二分查找 (用来查找列表中元素是否存在) 二分查找也称折半查找 方式一(递归) # 思路: # 1.在函数中传入有序列表和要查找的数字 # 2.把整个列表进行切割(min=len(alist)//2),利用索引找到中间的值(alist[min]) # 3.把中间的值和和要查找的元素进行对比,如果大于 阅读全文
摘要:
re模块和正则表达式的关系 有了re模块就可以在python语言中操作正则表达式了 什么是正则表达式? 一套规则,用来匹配字符串的规则 能做什么? 检查一个字符串的输入是否合法 web开发项目、表单验证 用户输入一个内容的时候,我们要提前检测,能够提高程序的效率并且减轻服务器的压力 从一个大文件中找 阅读全文