只有十分努力,才能看起来毫不费力!!!
- 关于数据
- 数据的存储结构是数据的逻辑结构在计算机中的表示,一种数据的逻辑结构可表示为多种存储结构;
- 常用的数据存储结构:顺序,链表,索引等;
- 数据结构指相互有关联的数据元素的集合,反应数据元素之间的关系;
- 数据结构包括逻辑结构和存储结构;
- 组合数据类型可以分为 3 类:序列类型( str、tuple 和 list 类型都属于序列类型)、集合类型和映射类型;
- Python 组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易;
- 序列类型是一维元素向量,包括元组类型和列表类型;
- 数据组织的维度:一维(列表和集合),二维(列表),多维,高维(字典);
- 一维数据采用线性方式组织,对应于数学中的数组和集合等概念;
- 高维数据有键值对类型的数据构成,采用对象方式组织;
- 二维数据采用表格方式组织,对应于数学中的矩阵;
- 信息隐蔽与模块独立性直接相关,是指一个模块中包含的信息对于不需要这些信息的其他模块来说是不允许访问的;
- 链表
- 线性链表:存储空间不一定连续(存储序号不连续),且各元素的存储顺序是任意的(在存储空间中的位置关系与逻辑关系不一致);
- 二叉树
- 结点计算: (满二叉树)每一层节点数都达到最大值, 第K层有2k-1个结点;
- 满二叉树:除最后一层外,每一层上的所有结点都有两个子结点,所以只有最后一层上的结点是叶子结点;
- 深度为n的满二叉树,有 (2n-1) 个结点(注意和叶子结点的区别);
- 深度为n的满二叉树,叶子结点(度为0)的总个数为(2n-1)(最后一层的结点个数);
- 结构化程序设计
- 主要原则:自顶向下,逐步求精,模块化 ,限制使用goto语句;
- 基本结构:顺序,循环,选择;
- 面向对象的方法
- 继承: 是指类之间共享属性和操作的机制,分为单继承(只允许有一个父类)和多重继承(允许有多个父类);
- 关于软件
- 软件危机:计算机软件开发和维护过程中遇到的问题,主要表现:软件质量难以控制,软件开发生产率低,软件成本不断提高;
- 软件测试:软件测试的主要目的是发现程序中的错误;
- 软件工程是应用于计算机软件的定义、开发和维护的一整套方案、工具、文档和实践标准和工序;
- 软件工程包括3要素:方法、工具(支撑软件的开发、管理和文档生成)、过程(支持软件开发各个环节的控制和管理);
- 软件工程详细设计过程的设计工具:判断表、PDL(伪码)、程序流程图、N-S、PAD、HIPO;
- CSS(层叠样式表):表现HTML或XML等文件样式的计算机语言;
- 树形结构:
- 用树形结构表示实体之间的联系的是:层次模型,特点:根(有且仅有一个无双亲结点)、除根外所有结点有且仅有一个双亲 ;
- 关系运算:
- 基本运算: 插入、删除、修改、查询(包括投影、选择、笛卡尔积);
- 关于 Python 程序格式框架
- Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围;
- Python 语言采用严格的“缩进”来表明程序的格式框架;
- 判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达对应的语义;
- Python 语言的缩进可以采用 Tab 键实现;
- Python变量命名:首位不能是数字,中间不能出现空格,变量名中不允许出现特殊符号*和!;
- Python 语言是开源语言、脚本语言、多模型语言、跨平台语言;
- Python循环结构
- break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行;
- continue语句结束当前当次循环,跳出循环体中下面尚未执行的语句,但不跳出当前循环!!!;
- Python 字符串
- Python 字符串提供区间访问方式,采用 [N:M] 格式,表示字符串中从 N 到 M 的索引子字符串(不包含 N 和 M);
- 字符串包括两种序号体系:正向递增和反向递减;
- 字符串是字符的序列,可以按照单个字符或者字符片段进行索引;
- 使用 type() 测试字符串的类型;
- 输出带有引号的字符串,可以使用转义字符\;
- 字符串是一个字符序列,字符串中的编号叫“索引”;
- 字符串可以保存在变量中,也可以单独存在;
- 字符串格式化方法:
- Python 注释方式
- Python 语言有两种注释方式:单行注释和多行注释
- Python 语言的单行注释以#开头,多行注释以 ’ ’ '(三个单引号)开头和结尾;
- Python分支结构
- Python分支结构:不可以向已经执行过的语句部分跳转;
- Python 文件处理
- Python 能够以文本(字符串)和二进制(字节流)两种方式处理文件;
- 当文件以文本方式打开时,读写按照字符串方式,当文件以二进制方式打开时,读写按照字节流方式;
- Python文件写操作:write(),writelines(),seek();
- Python文件读操作:read(),readlines()(将文件的全部内容读入一个列表);
- Python对文件的打开模式有:’r’、‘w’、’+’;
- Python库函数
- turtle:基本图形绘制(海龟绘图体系)
- turtle.seth()用来设置对应于角度坐标系的绝对值方向;
- turtle.fd():绘制直线;
- turtle.left():在当前行进方向上向左转向;
- jieba:中文分词功能;
- 三种分词模式:精确模式、全模式、搜索引擎模式;
- 精确模式:jieba.lcut(s),返回一个列表类型,每个元素是一个中文词语,使用len()可计算字符数量;
- itchat:Python微信接口功能;
- time:获取并操控系统时间;
- time 库是 Python 的标准库 ;
- time.sleep(5) 推迟调用线程的运行,单位为秒 ;
- 可使用 time.ctime(),显示为更可读的形式 ;
- random:伪随机数生成(标准随机库);
- pygame:操作系统外设以及基本游戏引擎功能;
- PyQt5:用户图形界面开发 (第三方库);
- PyInstaller:将源文件打包成可执行文件;
- requests:网络爬虫(第三方库);
- numpy:多维数据表示(数据分析方向的第三方库);
- scipy:科学计算(数据分析方向的第三方库);
- pandas:数据分析处理(数据分析方向的第三方库);
- sys:处理Python运行时的配置以及资源;
- print(sys.version),可查看Python版本;
- PIL:具有图形处理功能的 (第三方库)
- TensorFlow:机器学习方向的 (第三方库)
- 保留字
- import 保留字用于导入模块或者模块中的对象;
- 使用 import turtle 引入turtle 库,使用 import turtle as t 引入 turtle 库,取别名为 t,使用 from turtle import setup 只能引入 turtle 库的setup函数;
- Python 通过 try、except 、else、finally等保留字捕获和处理异常;
- do不是Python的保留字;
- 复数
- 复数的虚数部分通过后缀“J”或者“j”来表示;
- 复数类型表示数学中的复数;
- 用 z.real 获得它的实数部分,用 z.imag 获得它的虚数部分;
- 函数
- 函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。
- 函数是一段具有特定功能的、可重用的语句组;
- 使用函数的主要目的是减低编程难度和代码重用;
- Python 使用 del 保留字定义函数(不一定是一个函数,可以是多个函数);
- print(x) 这个函数,输出整数时采用 十进制输出,0o表示8进制数,0b表示二进制,10表示10进制,0x表示16进制;
- print(divmod(x,y)):divmod(x,y)用来输出x和y的整数商和余数,返回元组类型,print打印输出元组类型时,输出完整形式(带小括号);
- 字典变量(设为DictColor):则DictColor[键]可获得键对应的值,DictColor.keys()返回所有的键,DictColor.values()返回所有的值,字典中,键相当于索引,只有索引才能用于数据检索;
- 列表(设为s):通过 s[i;j;k](包含从i到j以k为步长的元素) 方式切片,产生一个新的列表,例如:
s =["seashell","gold","pink","brown","purple","tomato"] print(s[1:4:2])
输出为:[‘gold’, ‘brown’]
- 字典(设为d)获取对应值的两种方式:d[键]、d.get(键,默认值)(当键值不存在时,返回默认值);
- range(0,5):产生0到4数字,一共5个数字;
- eval:eval 函数的作用是将输入的字符串转为 Python 语句,并执行该语句;
- Lambda表达式是Python中一类特殊的定义函数的形式,使用它可以定义一个匿名函数。与其它语言不同,Python的Lambda表达式的函数体只能有单独的一条语句,也就是返回值表达式语句
- round:round(x[,ndigits])对x四舍五入,保留ndigits位小数;
- ^(居中对齐)、>(右对齐)、<(左对齐);
- s.count():计算列表s中某个字符出现的次数;
- find() 方法检测字符串中是否包含子字符串 str
- split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list);
- 程序相关
- strftime:格式化时间输出,第一个参数是输出时间的模板字符串,对于月份和时间,输出数字按照位数输出,不足补零(例如5月份输出05);
- 输出固定格式:print("{:.3f}".format(x));
- 统计元素次数:适合使用字典类型表述,例题:
列表 ls 中存储了我国 39 所 985 高校所对应的学校类型,请以这个列表为数据变量,完善 Python 代码,统计输出各类型的数量。
ls = ["综合", "理工", "综合", "综合", "综合", "综合", "综合", "综合", "综合", "综合",\
"师范", "理工", "综合", "理工", "综合", "综合", "综合", "综合", "综合","理工",\
"理工", "理工", "理工", "师范", "综合", "农林", "理工", "综合", "理工", "理工", \
"理工", "综合", "理工", "综合", "综合", "理工", "农林", "民族", "军事"]
d = {}#定义一个字典类型的变量
for word in ls:#循环遍历列表里的每个元素
d[word] = d.get(word,0)+1#统计word出现的次数,如果不存在则返回0
for j in d:
print("{}:{}".format(j,d[j]))#循环遍历输出所有键值对
- 综合应用
- 文件处理
- 算法
- 算法具有可行性、确定性、有穷性的基本特征;
- 算法的复杂度主要包括时间复杂度和空间复杂度;
- 算法的基本要素包括数据对象的运算和操作及算法的控制结构;