1. file文件
    1. 打开文件
      1. 模式
        1. 'r'->只读
        2. 'w'->只写,文件已存在则清空,不存在则创建。
        3. 'a'->追加,写到文件末尾
        4. 'b'->二进制模式,比如打开图像、音频、word文件。
        5. '+'->更新(可读可写)
        6. 'w+'->会清空,会创建 (文件已存在则清空,不存在则创建。)
        7. 'r+'->不清空,不创建
      2. f1 = open(文件路径,模式)
    2. 文件模式
      1. 二进制文件
      2. 文本文件
        1. 换行标识
          1. windows->'\r\n'
          2. unix->'\n'
          3. mac->'\r'
          4. 为什么windows下的txt在linux打开的时候行尾会有'^M' 为什么在linux下文本文件到本地windows打开变成了一行
        2. 获取换行标识
          1. os.linesep
  2. dic字典
    1. 定义
      1. d = {key1:value, key2:value...}
    2. 索引
      1. d[key]
    3. 增加
      1. d[key] = value
    4. 修改
      1. d[key] = newvalue
    5. 删除
      1. del d[key]
      2. d.clear()
  3. str字符串
    1. 定义字符串
      1. 字符串常量
        1. s1 = 'hello'
      2. 字符串类对象
        1. s1 = str('hello')
    2. 拆分字符串
      1. s1.split('分隔符')
    3. 修改字符串
      1. 合并
        1. '分隔符'.join
        2. s1 + s2
        3. s1.__add__(s2)
      2. 分片
      3. 替换
        1. s1.replace
    4. 查找字符串
      1. s1.find 返回pos
      2. '字符串' in s1 返回True/False
      3. 也可以作为测试字符串
    5. 测试字符串
      1. 结尾测试
        1. s1.endswith
    6. 迭代字符串
      1. for i in s1: 对i字符串操作
      2. [对i字符串操作 for i in s1] 返回list
    7. 格式化字符串
  4. list列表
    1. 定义列表
      1. li = [e1, e2, e3...]
      2. li = range(e1,e2)
    2. 索引
      1. 正索引
        1. li[n]
      2. 负索引
        1. li[-n]
      3. 分片
        1. li[n:m]
    3. 增加
      1. 尾增加
        1. li.append(en)
      2. 插入
        1. li.insert(n,en)
      3. 连接
        1. li.extend(li2)
        2. li = li + li2 li += li2
        3. li * 3 等同于 li + li + li
    4. 删除
      1. li.remove(e1)
    5. 出栈
      1. li.pop()
    6. 搜索
      1. li.index(en) 返回pos
      2. en in li?
    7. 映射
  5. Tuple元组
    1. 定义
      1. ti = (e1, e2, e3...)
    2. append、extend、remove、pop、index
    3. in
  6. Exception异常
    1. 语句
      1. try/except 捕获并修正异常
        1. 捕获异常
        2. 修正异常
        3. and
      2. try/else 无异常
        1. 先执行else,然后继续执行
      3. try/finally 终止行为
        1. 抛出异常
        2. 执行finally,然后继续执行
        3. or
      4. raise抛出异常
        1. 抛出异常
      5. assert 条件False抛出异常
        1. 抛出AssertionError
      6. with/as
    2. BaseException 异常基类
      1. SystemExit
      2. GeneratorExit
      3. KeyboadInterrupt
      4. Exception
  7. 特点
    1. 代码缩进
    2. 动态类型语言
    3. 一切都是对象
      1. 模块
      2. 函数
      3. 字符串
      4. 列表
      5. 方法
      6. 文件(流对象)
  8. 函数式
    1. lambda函数
  9. 基本语法
    1. 控制流
      1. if 条件1: elif 条件2: else:
      2. while 条件: else:#可选
      3. for i in 列表: else: #可选
      4. break
      5. continue
  10. 面向对象
    1. 类的定义
    2. 类的实例化
  11. 函数
    1. def function(params):
    2. 内置重要函数
      1. help
      2. 文件IO
        1. open
        2. read
        3. file
      3. 控制台IO
        1. print
        2. raw_input
  12. re正则
    1. compile
    2. pattern
    3. search
  13. pickle持久化
    1. dump
    2. load
  14. argparse命令行解析
  15. thread
  16. threading
  17. processing
  18. Stackless Python
  19. xlrd Excel读
  20. xlwt Excel写
  21. Sympy符号计算
    1. 内建数值类型
      1. 有理数
      2. 浮点数
      3. 整数
    2. 演算
      1. 极限
      2. 微分
      3. 级数展开
      4. 求和
      5. 积分
      6. 复数
      7. 函数
      8. 微分方程
      9. 代数方程
  22. Numpy数值计算
  23. Scipy科学计算
    1. constans 物理和数学常数
    2. cluster 聚类算法
    3. fftpack 快速傅立叶变换程序
    4. integrate 集成和常微分方程求解器
    5. interpolate 拟合和平滑曲线
    6. io 输入和输出
    7. linalg 线性代数
    8. maxentropy 最大熵法
    9. ndimage N维图像处理
    10. odr 正交距离回归
    11. optimize 最优路径选择
    12. signal 信号处理
    13. sparse 稀疏矩阵和以及相关程序
    14. spatial 空间数据结构和算法
    15. special 特殊函数
    16. stats 统计上的函数和分布
    17. weave C/C++ 整合(integration)
  24. Matplotlib绘图