课时26 #元组的函数 基本跟list通用 #len:获取元组的长度 案例 t=(1,2,3,4,5,6) len(t) 5 #max,min:最大值,最小值 如果列表或元组中有多个最大值最小值,则实际打印出一个 #tuple:转化或创建元组 案例 l=[1,2,3,4,5] t=tuple(l) print(t) t=tuple() print(t) (1,2,3,4,5) () #count:计算指定数据出现的次数 #index:求指定元素在元组中的索引位置 如果需要查找的是多个,则返回第一个 #元组变量交换法 两个变量交换值 案例 a=1 b=3 a,b=b,a print(a) print(b) 1 3 #集合-set 集合是高中数学中的一个概念 一堆确定的无序的唯一的数据,集合中每一个数据成为一个元素 #集合的定义 如果只是用括号定义,则定义的是一个dict类型 s=set() print(type(s)) print(s) 此时,大括号一定要有值,否则定义出的是一个dict #集合的特征 集合内数据无序,即无法使用索引和分片 集合内部数据元素具有唯一性,可以用来排除重复数据 集合内的数据:str,int,float,tuple,冰冻集合等,即内部只能放置可哈希数据 #集合序列操作 成员检测:in,not in 案例 s={1,2,4,6,7} print(s) if 6 in s: print(“yes”) if 7 not in s: print(“oh no”) yes oh on #集合遍历操作 for循环 s={4,5,“i”,6,7} for i in s: print(i,end=" ") 带有元组的集合遍历 s={{1,2,3},{“a”,“b”,“c”},{4,5,6}} for k,m,n in s: print() #集合的内涵 #普通集合内涵 以下集合在初始化后自动过滤掉重复元素 s={2,3,4,23,545,3,2,6,4,3,1,6,8,5,9} #带条件的集合内涵 sss={i for i in s if i%2==0} #多循环的集合内涵 s1={1,2,3,4} s2={“i”,“love”,“xiaohu”} s={m*n for m in s2 for n in s1} print(s) #集合函数/关于集合的函数 len,max,min,跟其他函数基本一致 add:向集合内添加元素 s={1} s.add(344) print(s) {1,344} #clear函数是原地清空数据 copy:拷贝 remove:移除指定的值 discard:移除集合中指定的值 #集合函数 intersection:交集 difference:差集 union:并集 issubset:检查一个集合是否为另一个子集 issuperset:检查一个集合是否为另一个超集 frozen set:冰冻集合 冰冻就是不可以进行任何修改的集合 frozen set是一种特殊集合 #dict字典 字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现 字典的特征 字典是序列类型,但是是无序序列,所以没有分片和索引 字典中的数据每个都有键值对组成,即kv对 key:必须是可哈希的值,如int,string,float,tuple,但list,set,dict不行 value:任何值 #字典常见操作 访问数据 成员检测:in, not in 成员检测检测的是key内容 字典生成式 d={“one”:1,“two”:2,“three”:3} 常规字典生成 dd={k:v for k,v in d.items()} print(dd) 字典相关函数 #通用函数:len,max,min,dict str(字典):返回字典的字符串格式 clear:清空字典 items:返回字典的键值对组成的元组格式 keys:返回字典中的键组成的一个结构 values:一个可迭代的结构 get:根据指定键返回相应的值,好处是可设置成默认值 get默认值是None· fromkeys:使用指定的序列作为键,使用一个值作为字典的所有的键的值 课时27 OOP-Python面向对象 Python的面向对象 面向对象编程 基础 公有私有 继承 组合Mixin 魔法函数 魔法函数概述 构造类魔法函数 运算类魔法函数 1.面向对象概述(ObjectOriented.oo) OOP思想 接触到任意一个任务,首先想到是任务这个世界的构成,是由模型构成的 几个名词 OO:面向对象 OOA:面向对象的分析 OOD:面向对象的设计 OOI:xxx的实现 OOP:xxx的编程 OOA->OOD->OOI:面向对象的实现过程 类和对象的概念 类:抽象名词,代表一个集合,共性的事物 对象:具象的事物,单个个体 类跟对象的关系: 一个具象,代表一类事物的某一个个体 一个是抽象,代表的是一大类事物 类中的内容应该剧院两个内容 表明事物的特征,叫做属性(变量) 表明事物功能或动作,称为成员方法(函数) 2.类的基本实现 类的命名 遵守变量命名规范 大驼峰(由一个或者多个单词构成;每个首字母大写,单词跟单词直接相连) 尽量避开跟系统命名相似的命名 如何声明一个类 必须用class关键字 类由属性和方法构成,其他不允许出现 成员属性定义可以直接使用变量赋值,如果没有值,允许使用None 3.anaconda基本使用 anaconda主要是一个虚拟环境管理器 还是一个安装包管理器 conda list:显示anaconda安装包 conda env list:显示anaconda的虚拟环境列表 conda create -n xxx Python=3.6:创建Python版本为3.6的虚拟环境,名称为xxx 实例化类 变量=类名()开实例化了一个对象 访问对象成员 使用点操作符 obj.成员属性名称 obj.成员方法 可以通过默认内置变量检查内类和对象的所有成员 对象所有成员检查 #dict前后各有两个下划线 obj.dict 类所有成员 class_name.dict #dict前后各有一个下划线