Python 最佳实践指南

576 阅读4分钟
原文链接: mp.weixin.qq.com

推荐一份开源的 Python 最佳实践指南。

这份人工编写的指南旨在为 Python 初学者和专家提供一个关于 Python 安装、配置、和日常使用的最佳实践手册。

看一下目录:

Python 入门

Python 新手?让我们正确地设置您的Python环境:

  • 选择一个 Python 解释器(3 vs 2)

    • Python 的现状 (2 vs 3)
    • 建议
    • 所以.... 3?
    • 实现
  • 正确地在您的系统上安装 Python

  • 正确地安装 Python

  • 在Mac OS X上安装 Python 3

  • Setuptools + Pip

  • Pipenv & 虚拟环境

  • 在 Linux 上安装 Python 3

  • 在 Mac OS X 上安装 Python 2

  • 在 Windows 上安装 Python 2

  • 在 Linux 上安装 Python 2

  • 借助 Pipenv 使用虚拟环境:

  • Pipenv & 虚拟环境

    • 确保您已经有了 Python 和 pip
    • 安装 Pipenv
    • 为您的项目安装包
    • 使用安装好的包
    • 下一步
  • 更低层次: virtualenv

    • 基本使用
    • 其他注意事项
    • virtualenvwrapper
    • 基本使用
    • 其他有用的命令
    • virtualenv-burrito
    • autoenv

Python 开发环境

这部分指南关注 Python 开发环境,以及用于编写 Python 代码的可用且最实用的工具。

  • 您的开发环境
    • 文本编辑器
    • IDEs
    • 解释器工具
    • 其他工具
  • Pipenv & 虚拟环境
    • 确保您已经有了 Python 和 pip
    • 安装 Pipenv
    • 为您的项目安装包
    • 使用安装好的包
    • 下一步
  • 更低层次: virtualenv
    • 基本使用
    • 其他注意事项
    • virtualenvwrapper
    • 基本使用
    • 其他有用的命令
    • virtualenv-burrito
    • autoenv
  • Pip 和 Virtualenv 的更多配置
    • 用 pip 来要求一个激活的虚拟环境
    • 存下包以供将来使用

写出优雅的 Python 代码

这部分指南关注编写 Python 代码的最佳实践。

  • 结构化您的工程
    • 仓库的结构
    • 结构是一把钥匙
    • 模块
    • 面向对象编程
    • 装饰器
    • 上下文管理器
    • 动态类型
    • 可变和不可变类型
    • 提供依赖关系
    • Runners
    • 更多阅读
  • 代码风格
    • 一般概念
    • 习语(Idiom)
    • Python 之禅
    • PEP 8
    • 约定
  • 阅读好的代码
  • 文档
    • 项目文档
    • 项目发布
    • 代码文档建议
    • 其他工具
  • 测试您的代码
    • 基本
    • 工具
  • 日志(Logging)
    • ... 或者打印?
    • 库中的日志
    • 应用程序中的日志
  • 常见陷阱
    • 可变默认参数
    • 延迟绑定闭包
    • 字节码(.pyc)文件无处不在!
  • 选择一个许可

Python 应用的场景指南

这部分指南关注基于不同场景的工具和模块推荐。

  • 网络应用
    • HTTP
    • 分布式系统
  • Web 应用 & 框架
    • Context
    • 框架
    • Web 服务端
    • WSGI 服务器
    • 服务端最佳实践
    • Hosting
    • 模板
  • HTML 抓取
    • Web抓取
    • lxml和Requests
  • 命令行应用
    • Clint
    • Click
    • docopt
    • Plac
    • Cliff
    • Cement
    • Python Fire
  • GUI 应用
    • Camelot
    • Cocoa
    • GTk
    • PyGObject aka (PyGi)
    • Kivy
    • PyObjC
    • PySide
    • PyQt
    • PyjamasDesktop (pyjs Desktop)
    • Qt
    • PySimpleGUI
    • Toga
    • Tk
    • wxPython
  • 数据库
    • DB-API
    • SQLAlchemy
    • Records
    • Django ORM
    • peewee
    • PonyORM
    • SQLObject
  • 网络
    • Twisted
    • PyZMQ
    • gevent
  • 系统管理
    • Fabric
    • Salt
    • Psutil
    • Ansible
    • Chef
    • Puppet
    • Blueprint
    • Buildout
    • Shinken
  • 持续集成
    • 为什么?
    • Jenkins
    • Buildbot
    • Tox
    • Travis-CI
  • 速度
    • Context
    • C 扩展
    • 并发
  • 科学应用
    • 背景
    • 工具
    • 资源
  • 图像处理
    • Python 图形库
    • 开源计算机视觉(OpenCv)
  • 数据序列化
    • 什么是数据序列化?
    • Flat vs. Nested data
    • 序列化文本
    • 二进制
    • Protobuf
  • XML 解析
    • untangle
    • xmltodict
  • JSON
    • 解析 JSON
    • simplejson
  • 密码学
    • cryptography
    • GPGME bindings
    • PyCrypto
  • 机器学习
    • SciPy 栈(SciPy stack)
    • scikit-learn
  • 与 C/C++ 库交互
  • C 语言外部函数接口(CFFI)
    • ABI 交互
    • Struct Equivalents
    • 例子: Overloading repr

部署优雅的Python代码

这部分指南关注部署您的 Python 代码。

  • 打包您的代码
    • 打包的多种方式
    • 对于 Python 开发者
    • 在 Linux 上分发
  • 冻结(freezing)您的代码
    • 冻结的多种方式
    • 比较冻结工具
    • Windows
    • OS X
    • Linux

额外关注

这部分指南比较零散,先了解一些 Python 的背景知识,再关注下一步。

  • 介绍
  • 关于这份指南
    • 目的
    • 经由社区
    • 面向社区
  • 社区
    • BDFL
    • Python 软件基金会
    • PEPs
    • Python 会议
    • Python 用户组
    • Python 工作公告栏
  • 学习 Python
    • 初学者
    • 中级
    • 进阶者
    • 工程师和科学家
    • 各种各样的话题
    • 参考
  • 文档
    • 官方文档
    • Read the Docs
    • pydoc
  • 新闻
    • PyCoder's Weekly
    • Real Python
    • Planet Python
    • /r/python
    • Talk Python Podcast
    • Python Bytes Podcast
    • Python Weekly
    • Python News
    • Import Python Weekly
    • Awesome Python Newsletter

可以说非常全了。

中文开源版电子书地址:

Python 最佳实践指南中文版[1]

翻译自英文开源项目:

Hitchhiker's Guide to Python[2]

参考资料

[1]

Python 最佳实践指南中文版: http://pythonguidecn.readthedocs.org/

[2]

Hitchhiker's Guide to Python: https://github.com/realpython/python-guide

扫一扫 关注我的公众号