文件
- 文件打开后,会将文件从硬盘加载到内存。
- 文件分成文本,二进制两种
- 读文件,写文件,需要注意指定内容的编码。Unicode,utf8,gbk等。
- 完成文件操作记得关闭对象,释放资源。
字典
- 列表是键值为0,1,2,3的,有严格顺序的集合。
- 字典是键值为数字,字符串,tuple,没有顺序的集合。
for
- for循环python的for循环没有C++中的i++,也没有i<size的判断条件。
- 它是用for i in range(n)的方式,实现遍历n次的目的。
- range(5)实际是构造了一个0,1,2,3,4的列表。
vscode安装pip3,numpy,pandas
- 在控制台console直接安装
- 先按照pip3,再用pip3 install xx这种指令,安装其他包
- 安装后,退出vscode,源代码文件才生效,不然有bug
类
- python的类,和C++差异较大。它的类变量是定义在初始化函数_init_里。_init_的定义,第一个形式参数,必须是self。这种方法的好处是,强调了类变量必须初始化。
- 面向对象编程的特点
- 封装:将属性和动作聚合在一起。
- 多态:同一函数名,在不同情况,启用不同方法。画图动作,可以对应画矩形,画圆
- 继承:一个类,可以借用父类的行为。避免重复编码。
数据分析
- 数据分析包括4个步骤:清洗,统计,展示
numpy向量库
- numpy是一个专门计算向量的库。numpy的向量运算简洁优雅,去掉元素间运算所需的循环,使一维向量更像单个数据
- numpy规定array必须是同类型,这大大方便numpy的设计者,设计出更节约资源的加减乘除运算。
- numpy中的ndarray简写为array
- 数组ndarray的维数ndim。当用数组下标表示的时候,需要用几个数字来表示才能唯一确定这个元素,这个数组就是几维。这个二维数组 b =
[[1,2,3],
[4,5,6],
[7,8,9]]
取得一个确切的元素,用b[i][j]的格式,数组嵌套了2层,第一层有三个元素,第二层也是三个元素地方容易被误导。不是说有三个一维数组,就组成3维数组。3维数组,只能由2维数组组成。
- 三维数组c = [
- [ [1,2,3], [4,5,6] ],
- [ [7,8,9], [10,11,12] ]
- ] 取得一个确切的元素, 用b[i][j][k]的格式,数组嵌套了3层,第一层有2个元素,第二层也是2个元素,第三层有三个元素
- np.arange([start, ]stop, [step, ]dtype=None) :arange函数用于创建等差数组
matplotlib画图库
- matplotlib画的图不够美观。胜在内置的图形多。
- 实际使用matplotlib时,用的是它的一个简化接口库pyplot
- 让数据点更清晰,需要在plot方法中加上marker='o'参数
- 两组数据的展示
