Python 是一种解释型语言,提供了跨平台的支持,可以快速开发一些脚本,随着 AI 的兴起,提供了一些常见的开发框架,这里详解介绍 Python 的使用。
通常当我们讨论 Python 时,指的是 Python 语言以及 CPython 实现。而实际上 Python 只是一种语言的规范,可以根据该规范使用不同的语言去实现相应的解析器,除了 CPython 之外,常见的还有 PyPy、Jython、IronPython、MicroPython 等。
CPython 通过 C 语言实现,也是目前使用最为广泛的版本,虽然 PyPy 现在的发展势头不错,不过估计短时间内还是不会替代 CPython。CPython 也需要编译 (编译成字节码),然后运行,其核心实际上是一个字节码解析器 (Bytecode Interpreter),用于模拟堆栈操作,或者称之为 Virtual Stack Machines。
如果没有特殊说明的话,在此特指 CPython;另外,比较想提一下的是 MicroPython,这是一个用于微控制器的 Python 实现 ^_^
Just More Pythonic ~~~
CPython
也就是通过 C 语言实现的 Python 规范,也是目前使用最为广泛的版本,此时,包含了 Python2 以及 Python3 两个版本,而且两个版本的特性差别很大,并不兼容。
这里主要介绍 Python3 的使用,其中可能会有部分介绍 Python2 。
环境准备
- 环境准备 在 Linux、Windows 中如何搭建 Python 的开发环境,包括了如何创建虚拟环境。
- 虚拟环境 通过很简单的配置可以使用独立的环境,包括了安装包、Python 版本等。
- 模块机制 关于模块、包的介绍,包括了基本概念、包的引入、查找顺序、创建模块等。
- 包管理机制 简单介绍如何使用自己编写的包,以及安装一些常见的三方包。
- 包分发管理 主要用于开发者使用,用于打包、分发等。
基本介绍
- 基本语法 简单整理一些常见容易混淆的概念,例如异常、Class等。
- 新类旧类 从 Python 2.2 版本中引入了新式类,之前的类称为经典类或者旧类,这里介绍其区别。
- 变量绑定 一切皆对象导致了变量与其它语言概念上有所差异。
- 入参格式 Python 提供了很灵活的入参方式,包括了常见的位置参数还有关键词参数。
- 字典对象 字典通过 Hash 表实现,不过其实现与常规的 Hash 表略有区别。
- 垃圾回收 详细介绍 Python 特有的垃圾回收机制。
- 动态执行 允许通过 exec 和 eval 执行以字符串形式表示的代码片段,这里简单介绍。
- 动态库使用 常用的有几种方式可以直接使用动态库,最简单的是 ctypes 库,不过这里重点介绍直接封装模块。
- 闭包和装饰器 通过装饰器可以给现有的模块加上一些小功能,但又不会侵入代码。
- 命名空间和作用域 在命名空间中保存了变量名到值的映射,而作用域决定了那些变量是有效的。
- C Binding 这里实际上就是将 Python 虚拟机嵌入到 C 代码中,从而可以调用 Python 代码。
下面简单介绍一些常见的语法使用方式。
- 上下文管理 实际上也就是常用的 with 语句,可以简化资源管理以及异常处理。
- DocString 也就是一些注释信息,包括了模块、函数等。
- Python 杂项 记录了 Python 中常见技巧,一些乱七八糟的东西。
常用模块
- 内置模块 在 CPython 的实现中,包含了 builtins 模块,与内置命名空间的查找容易混淆。
- logging 用来打印日志信息,通过简单机制提供了非常灵活的实现。
- requests 一个简单但是非常优雅的 HTTP 库。
- mysql 介绍几种常见的库连接 MySQL 服务器,关于 ORM 相关参考这里。
- greenlet 不错的协程库实现。
- 时间处理 与时间操作相关的模块。
- 其它模块 包含一些比较小但是好用的模块,例如。
其它
- Python2 VS. Python3 两个版本之间的区别。
- PyCharm 使用 PyCharm 开发时一些常用的技巧。
- ZeroMQ 非常简单好用的传输层实现,使得 Socket 编程更加简单高效,包括 架构设计 。
- Ansible 一个配置管理工具,无需安装服务端和客户端,只要有ssh即可,而且使用简单。
- SaltStack 一个轻量级的运维工具,具备配置管理、远程执行、监控等功能。
- 异步队列 介绍一些常用的调度系统,如 APScheduler、Redis Queue、Celery 等。
示例代码
常用链接
- Python Types and Objects 介绍 Python 对象不错的文章,可以参考 本地文档 。
- docs.python.org 官方的 CPython 介绍文档,包含了详细概念。
- PEP-8 Style Guide for Python Code Python 官方的编程规范。