My_Study_Python
latest
PYTHON学习笔记
python入门
1. python基础
1.1. 环境准备
1.1.1. mac安装python
1.1.2. 环境配置
1.1.3. python解释器
1.2. 运行第一个程序
1.2.1. 编写文件
1.2.2. 运行hello world
1.3. Python基础
1.3.1. 数据类型
1.3.2. 变量
1.3.3. 字符编码
1.3.4. 转化
1.3.5. len函数
1.3.6. 强制编码
1.3.7. 字符串格式化
1.3.8. list
1.3.9. tuple
1.3.10. if
1.3.11. match
1.3.12. 循环
1.3.13. dict
1.3.14. set
1.4. 函数
1.4.1. 调用函数
1.4.2. 定义函数
1.4.3. 空函数
1.4.4. 参数校验
1.4.5. 多返回值
1.4.6. 函数默认值
1.4.7. 可变参数
1.4.8. 关键字参数
1.4.9. 参数组合
1.4.10. 递归函数
2. python进阶
2.1. 模块
2.1.1. 编写模块
2.1.2. 安装第三方包
2.2. 面向对象编程
2.2.1. 类demo
2.2.2. 类和实例
2.2.3. 访问限制
2.2.4. 继承和多态
2.2.5. 获取对象类型信息
2.2.6. 获取对象属性和方法信息
2.2.7. 实例属性和类属性
2.3. 错误调试测试
2.3.1. 捕捉异常
2.3.2. 抛出异常
2.3.3. 调试方法
2.3.4. 单元测试
2.4. IO编程
2.4.1. 文件读写
2.4.2. StringIO和BytesIO
2.4.3. 操作文件和目录
2.4.4. 序列化
2.5. 进程线程
2.5.1. fork
2.5.2. multiprocess
2.5.3. pool
2.5.4. subprocess
2.5.5. ipc
2.5.6. 多线程
2.5.7. 分布式进程
2.6. 正则表达式
2.6.1. 是否匹配
2.6.2. 切分字符串
2.6.3. 分组
2.6.4. 编译正则
2.7. 常见模块
2.7.1. datetime
2.7.2. collections
2.7.3. argparser
2.7.4. base64
2.7.5. struct
2.7.6. hashlib
2.7.7. hmac
2.7.8. itertools
2.7.9. contextlib
2.7.10. request
2.8. 网络编程
2.8.1. tcp client
2.8.2. tcp server
2.8.3. wsgi
2.8.4. flask
2.9. 邮件收发
2.10. 数据库
3. python高级
3.1. 高级特性
3.1.1. 切片
3.1.2. 是否可以迭代判定
3.1.3. 常见类型的遍历方法
3.1.4. 列表生成式
3.1.5. 生成器
3.1.6. 自己定义一个生成器函数
3.1.7. 迭代器
3.2. 函数式编程
3.2.1. 函数调用和函数
3.2.2. 传入函数
3.2.3. mapreduce
3.2.4. filter
3.2.5. sorted
3.2.6. 函数作为返回值
3.2.7. 闭包
3.2.8. 匿名函数
3.2.9. 装饰器
3.2.10. 偏函数
3.3. 面向对象高级编程
3.3.1. 给类绑定一个方法
3.3.2. slot
3.3.3. @property
3.3.4. 多重继承
3.3.5. 定制类
3.3.6. 枚举
3.3.7. 元类
3.4. 异步IO
3.4.1. 协程
3.4.2. async/await
3.4.3. 同步和异步对比
3.4.4. aiohttp
Cookbook学习记录
1. cookbook基础
1.1. 数据结构和算法
1.1.1. 解压序列赋值给多个变量
1.1.2. 解压可迭代对象赋值给多个变量
1.1.3. 保留最后 N 个元素
1.1.4. 查找最大或最小的 N 个元素
1.1.5. 实现一个优先级队列
1.1.6. 字典中的键映射多个值
1.1.7. 字典排序
1.1.8. 查找两字典的相同点
1.1.9. 删除序列相同元素并保持顺序
1.1.10. 命名切片
1.1.11. 序列中出现次数最多的元素
1.1.12. 通过某个关键字排序一个字典列表
1.1.13. 通过某个字段将记录分组
1.1.14. 过滤序列元素
1.1.15. 从字典中提取子集
1.1.16. 映射名称到序列元素
1.1.17. 转换并同时计算数据
1.1.18. 合并多个字典或映射
1.2. 字符串和文本
1.2.1. 使用多个界定符分割字符串
1.2.2. 字符串开头或结尾匹配
1.2.3. 字符串匹配和搜索
1.2.4. 字符串搜索和替换
1.2.5. 字符串忽略大小写的搜索替换
1.2.6. 将Unicode文本标准化
1.2.7. 删除字符串中不需要的字符
1.2.8. 审查清理文本字符串
1.2.9. 字符串对齐
1.2.10. 合并字符串
1.2.11. 字符串中插入变量
1.2.12. 以指定列宽格式化字符串
1.2.13. 在字符串中处理html和xml
1.2.14. 字符串令牌解析
1.3. 数字日期时间
1.3.1. 数字的四舍五入
1.3.2. 执行精确的浮点数运算
1.3.3. 数字的格式化输出
1.3.4. 二八十六进制整数
1.3.5. 字节到大整数的打包与解包
1.3.6. 复数的数学运算
1.3.7. 无穷大与NaN
1.3.8. 分数运算
1.3.9. 大型数组运算
1.3.10. 随机选择
1.3.11. 基本的日期与时间转换
1.3.12. 计算最后一个周五的日期
1.3.13. 计算当前月份的日期范围
1.3.14. 字符串转换为日期
1.3.15. 结合时区的日期操作
2. cookbook进阶
2.1. 迭代器与生成器
2.1.1. 手动遍历迭代器
2.1.2. 代理迭代
2.1.3. 使用生成器创建新的迭代模式
2.1.4. 实现迭代器协议
2.1.5. 反向迭代
2.1.6. 带有外部状态的生成器函数
2.1.7. 迭代器切片
2.1.8. 跳过可迭代对象的开始部分
2.1.9. 排列组合的迭代
2.1.10. 序列上索引值迭代
2.1.11. 同时迭代多个序列
2.1.12. 不同集合上元素的迭代
2.1.13. 创建数据处理管道
2.1.14. 展开嵌套的序列
2.1.15. 顺序迭代合并后的排序迭代对象
2.2. 文件和IO
2.2.1. 读写文本数据
2.2.2. 使用其他分隔符或行终止符打印
2.2.3. 读写字节数据
2.2.4. 字符串的I/O操作
2.2.5. 读写压缩文件
2.2.6. 固定大小记录的文件迭代
2.2.7. 读取二进制数据到可变缓冲区中
2.2.8. 内存映射的二进制文件
2.2.9. 文件路径名的操作
2.2.10. 测试文件是否存在
2.2.11. 获取文件夹中的文件列表
2.2.12. 增加或改变已打开文件的编码
2.2.13. 将字节写入文本文件
2.2.14. 将文件描述符包装成文件对象
2.2.15. 创建临时文件和文件夹
2.3. 数据编码和处理
2.3.1. 读写CSV数据
2.3.2. 读写JSON数据
2.3.3. 解析简单的XML数据
2.3.4. 增量式解析大型XML文件
2.3.5. 将字典转换为XML
2.3.6. 解析和修改XML
2.3.7. 利用命名空间解析XML文档
2.3.8. 与关系型数据库的交互
2.3.9. 编码和解码十六进制数
2.3.10. 编码解码Base64数据
2.4. 函数
2.4.1. 可接受任意数量参数的函数
2.4.2. 只接受关键字参数的函数
2.4.3. 给函数参数增加元信息
2.4.4. 返回多个值的函数
2.4.5. 定义有默认参数的函数
2.4.6. 定义匿名或内联函数
2.4.7. 匿名函数捕获变量值
2.4.8. 减少可调用对象的参数个数
2.4.9. 将单方法的类转换为函数
2.4.10. 带额外状态信息的回调函数
2.4.11. 内联回调函数
2.4.12. 访问闭包中定义的变量
2.5. 类和对象
2.5.1. 改变对象的字符串显示
2.5.2. 自定义字符串显示
2.5.3. 让对象支持上下文管理协议
2.5.4. 创建大量对象时节省内存方法
2.5.5. 在类中封装属性名
2.5.6. 创建可管理的属性
2.5.7. 调用父类方法
2.5.8. 子类中扩展property
2.5.9. 创建新的类或实例属性
2.5.10. 使用延迟计算属性
2.5.11. 简化数据结构的初始化
2.5.12. 定义接口或者抽象基类
2.5.13. 实现自定义容器
2.5.14. 代理属性
2.5.15. 在类中定义多个构造器
2.5.16. 利用Mixins扩展类功能
2.5.17. 实现状态对象或者状态机
2.5.18. 通过字符串调用对象方法
2.5.19. 实现访问者模式
2.5.20. 不用递归实现访问者模式
2.5.21. 让类支持比较操作
2.6. 元类
2.6.1. 在函数上添加包装器
2.6.2. 解除一个装饰器
2.6.3. 带可选参数的装饰器
2.6.4. 利用装饰器强制函数上的类型检查
2.6.5. 将装饰器定义为类的一部分
2.6.6. 为类和静态方法提供装饰器
2.6.7. 装饰器为被包装函数增加参数
2.6.8. 使用装饰器扩充类的功能
2.6.9. 使用元类控制实例的创建
2.6.10. 定义有可选参数的元类
2.6.11. *args和**kwargs的强制参数签名
2.6.12. 在类上强制使用编程规约
2.6.13. 以编程方式定义类
2.6.14. 利用函数注解实现方法重载
2.6.15. 避免重复的属性方法
2.6.16. 定义上下文管理器的简单方法
2.7. 模块和包
2.7.1. 构建一个模块的层级包
2.7.2. 控制模块被全部导入的内容
2.7.3. 使用相对路径名导入包中子模块
2.7.4. 将模块分割成多个文件
2.7.5. 重新加载模块
2.7.6. 运行目录或压缩文件
2.7.7. 将文件夹加入到sys.path
2.7.8. 通过字符串名导入模块
2.8. WEB编程
2.8.1. 作为客户端与HTTP服务交互
2.8.2. 创建TCP服务器
2.8.3. 创建UDP服务器
2.8.4. 通过CIDR地址生成对应的IP地址集
2.8.5. 通过XML-RPC实现简单的远程调用
2.9. 并发编程
2.9.1. 启动与停止线程
2.9.2. 判断线程是否已经启动
2.9.3. 线程间通信
2.9.4. 线程访问加锁
2.9.5. 防止死锁的加锁机制
2.9.6. 保存线程的状态信息
2.9.7. 创建一个线程池
2.9.8. 定义一个Actor任务
2.9.9. 实现消息发布订阅模式
2.9.10. 使用生成器代替线程
2.9.11. 多个线程队列轮询
2.10. 脚本编程
2.10.1. 通过重定向/管道/文件接受输入
2.10.2. 终止程序并给出错误信息
2.10.3. 解析命令行选项
2.10.4. 运行时弹出密码输入提示
2.10.5. 获取终端的大小
2.10.6. 执行外部命令并获取它的输出
2.10.7. 复制或者移动文件和目录
2.10.8. 创建和解压归档文件
2.10.9. 通过文件名查找文件
2.10.10. 读取配置文件
2.10.11. 给简单脚本增加日志功能
2.10.12. 给函数库增加日志功能
2.10.13. 实现一个计时器
2.10.14. 限制cpu和mem
2.10.15. 启动一个WEB浏览器
2.11. 测试调试
2.11.1. 在单元测试中测试异常情况
2.11.2. 将测试输出用日志记录到文件中
2.11.3. 忽略或期望测试失败
2.11.4. 处理多个异常
2.11.5. 捕获所有异常
2.11.6. 创建自定义异常
2.11.7. 捕获异常后抛出另外的异常
2.11.8. 重新抛出被捕获的异常
2.11.9. 输出警告信息
2.11.10. 调试基本的程序崩溃错误
3. cookbook高级
My_Study_Python
我自己的python学习笔记
在 GitHub 上编辑
下一页
我自己的python学习笔记
PYTHON学习笔记
python入门
1. python基础
1.1. 环境准备
1.2. 运行第一个程序
1.3. Python基础
1.4. 函数
2. python进阶
2.1. 模块
2.2. 面向对象编程
2.3. 错误调试测试
2.4. IO编程
2.5. 进程线程
2.6. 正则表达式
2.7. 常见模块
2.8. 网络编程
2.9. 邮件收发
2.10. 数据库
3. python高级
3.1. 高级特性
3.2. 函数式编程
3.3. 面向对象高级编程
3.4. 异步IO
Cookbook学习记录
1. cookbook基础
1.1. 数据结构和算法
1.2. 字符串和文本
1.3. 数字日期时间
2. cookbook进阶
2.1. 迭代器与生成器
2.2. 文件和IO
2.3. 数据编码和处理
2.4. 函数
2.5. 类和对象
2.6. 元类
2.7. 模块和包
2.8. WEB编程
2.9. 并发编程
2.10. 脚本编程
2.11. 测试调试
3. cookbook高级