-
file文件
-
打开文件
-
模式
- 'r'->只读
- 'w'->只写,文件已存在则清空,不存在则创建。
- 'a'->追加,写到文件末尾
- 'b'->二进制模式,比如打开图像、音频、word文件。
- '+'->更新(可读可写)
- 'w+'->会清空,会创建 (文件已存在则清空,不存在则创建。)
- 'r+'->不清空,不创建
- f1 = open(文件路径,模式)
-
文件模式
- 二进制文件
-
文本文件
-
换行标识
- windows->'\r\n'
- unix->'\n'
- mac->'\r'
- 为什么windows下的txt在linux打开的时候行尾会有'^M'
为什么在linux下文本文件到本地windows打开变成了一行
-
获取换行标识
- os.linesep
-
dic字典
-
定义
- d = {key1:value, key2:value...}
-
索引
- d[key]
-
增加
- d[key] = value
-
修改
- d[key] = newvalue
-
删除
- del d[key]
- d.clear()
-
str字符串
-
定义字符串
-
字符串常量
- s1 = 'hello'
-
字符串类对象
- s1 = str('hello')
-
拆分字符串
- s1.split('分隔符')
-
修改字符串
-
合并
- '分隔符'.join
- s1 + s2
- s1.__add__(s2)
- 分片
-
替换
- s1.replace
-
查找字符串
- s1.find 返回pos
- '字符串' in s1 返回True/False
- 也可以作为测试字符串
-
测试字符串
-
结尾测试
- s1.endswith
-
迭代字符串
- for i in s1: 对i字符串操作
- [对i字符串操作 for i in s1] 返回list
- 格式化字符串
-
list列表
-
定义列表
- li = [e1, e2, e3...]
- li = range(e1,e2)
-
索引
-
正索引
- li[n]
-
负索引
- li[-n]
-
分片
- li[n:m]
-
增加
-
尾增加
- li.append(en)
-
插入
- li.insert(n,en)
-
连接
- li.extend(li2)
- li = li + li2
li += li2
- li * 3 等同于 li + li + li
-
删除
- li.remove(e1)
-
出栈
- li.pop()
-
搜索
- li.index(en) 返回pos
- en in li?
- 映射
-
Tuple元组
-
定义
- ti = (e1, e2, e3...)
- append、extend、remove、pop、index
- in
- set集合
-
Exception异常
-
语句
-
try/except
捕获并修正异常
- 捕获异常
- 修正异常
- and
-
try/else
无异常
- 先执行else,然后继续执行
-
try/finally
终止行为
- 抛出异常
- 执行finally,然后继续执行
- or
-
raise抛出异常
- 抛出异常
-
assert
条件False抛出异常
- 抛出AssertionError
- with/as
-
BaseException
异常基类
- SystemExit
- GeneratorExit
- KeyboadInterrupt
-
Exception
-
StandardError
标准异常
- ArithmeticError
- AssertionError
- AttributeError
- BufferError
- EnvironmentError
- EOFError
- ImportError
- SyntaxError
- LookupError
- MemoryError
- NameError
- RuntimeError
- ReferenceError
- SystemError
- TypeError
- ValueError
- Warning
- StopIteration
- class MyError(Exception): pass
自定义异常
- int整型
-
基本语法
-
控制流
- if 条件1:
elif 条件2:
else:
- while 条件:
else:#可选
- for i in 列表:
else: #可选
- break
- continue
-
特点
- 代码缩进
- 动态类型语言
-
一切都是对象
- 模块
- 函数
- 字符串
- 列表
- 类
- 方法
- 文件(流对象)
-
函数式
- lambda函数
-
序列化处理函数
- map(function, sequence[, ...]) → list
- filter(function, sequence) → list
- reduce(function, sequence[, initial=0]) → value
- zip(sequence[, sequence...]) → sequence
- 元类编程
-
面向对象
- 封装
- 继承
- 重载
- 重写
-
反射(自省)机制
- 自省对象能描述自己
-
re正则
- compile
- pattern
- search
-
pickle持久化
- dump
- load
- argparse命令行解析
- thread
- threading
- processing
- Stackless Python
- xlrd Excel读
- xlwt Excel写
-
Sympy符号计算
-
内建数值类型
- 有理数
- 浮点数
- 整数
-
演算
- 极限
- 微分
- 级数展开
- 求和
- 积分
- 复数
- 函数
- 微分方程
- 代数方程
- Numpy数值计算
-
Scipy科学计算
- constans 物理和数学常数
- cluster 聚类算法
- fftpack 快速傅立叶变换程序
- integrate 集成和常微分方程求解器
- interpolate 拟合和平滑曲线
- io 输入和输出
- linalg 线性代数
- maxentropy 最大熵法
- ndimage N维图像处理
- odr 正交距离回归
- optimize 最优路径选择
- signal 信号处理
- sparse 稀疏矩阵和以及相关程序
- spatial 空间数据结构和算法
- special 特殊函数
- stats 统计上的函数和分布
- weave C/C++ 整合(integration)
- Matplotlib绘图
- nltk自然语言处理
- pysvn版本控制
- clang编译器
-
unittest测试框架
- 导入待测模块
导入测试框架
-
定义测试类
- setUp()重写该函数,用于初始化工作
-
测试代码
- assertEqual()
- tearDown()重写该函数,用于清理工作
-
定义任意一个函数
- unittest.TestSuite()创建测试集对象
- addTest,测试集对象添加测试类,参数为测试类名字
- 返回测试对象类
-
执行测试
- unittest.main(defaultTest = 'suite')