回到博客 首页 工具链篇 运行环境 包的安装与管理 代码风格 docstring工具 静态类型检测 日志工具 调试工具 调用追踪与异常栈追踪 代码测试 部署应用 性能调优工具 包的打包与分发 vscode中的python开发环境配置 交互环境jupyter Jupyter的核心层 在Ipython中的魔法命令 在Ipython中的代码调试与优化 在Ipython中使用异步接口 多进程并行计算 自定义WrapperKernel Jupyter的多语言支持 Jupyter的交互层 多用户服务层 作为服务供单人使用 作为服务供小型团队使用 作为服务供中型团队使用 作为服务供大型团队使用 Notebook工具 notebook格式转换工具 结语 结语 语法篇 数据模型 数据模型 变量引用与垃圾回收 结语 模块 导入时与运行时 命名空间包 模块的预设字段 模块的加载流程 模块加载特殊内容 结语 文本与字节序 文本和编码 字节序列与内存视图 字符串操作 文本模板 结语 流程控制 单线程同步流程控制 阻塞异步与协程 多线程与GIL 多进程 并行编程的惯用法 并发模型 结语 异常和警告 内置容器 序列对象 映射对象 可迭代对象与生成器 结语 函数 函数是一等对象 变量作用域与闭包 结语 面向对象惯用法 python中的对象 协议,接口与抽象基类 多重继承和Mixin 自定义序列Vector 结语 元编程 运算符重载 特性与描述符 装饰器 元类编程 import_hook 动态编译 动态属性 猴子补丁和热更新 结语 结语 技巧篇 设计模式实现 单例模式和Monostate模式 策略模式 命令模式 结语 特殊场景的工具选择 结构化数据类型选择 文件读取的方法选择 使用第三方工具提升运行时性能 使用numba提升运算性能 通过静态化参数提升模块性能 使用gevent提高同步代码的并发性能 基础应用篇 国际化 字符编码判断 国际化文本翻译 时间日期处理 货币处理模块 结语 数据压缩与归档 数据压缩解压 压缩归档 结语 信息安全 随机密码 摘要算法 加密算法 数字签名 动态口令 结语 命令行交互 标准输入输出 使用python编写命令行工具 自定义交互式界面 简单GUI TK框架GUI编程的基本思路 Tkinter的组件介绍 结合pandas和matplotlib制作数据科学GUI工具 数据读写 文件与IO流 数据库读写 通过接口读取数据 通过http接口读写数据 通过WebSocket接口读写数据 简单数据处理 文本数据处理 解析html文件 正则表达式 数值数据处理 使用标准库处理基本数学问题 *使用numpy和scipy处理复杂的数值计算问题 numpy的高性能同构定长多维数组 精度与基本数学运算 线性代数 统计计算 多项式计算 傅里叶变换 窗口函数与卷积 财务分析 universal function numba与numpy结合使用 结构化数据处理 结构数据验证 序列化 对象持久化 定时任务 调用子进程 结语 *底层篇 Cpython的虚拟机和解释器 *扩展篇 Javascript扩展 Fortain扩展