Python 学习资源#

Python 从入门到进阶的学习资源。

备注

这些资源依照你的喜好选择学习即可。

初学者#

Python 教程

Python 官方教程。它涵盖了所有的基础,并提供了 Python 语言和标准库的浏览。推荐给需要快速开始的人。

Real Python

由各种专业的 Python 开发团队创建的免费且深入的 Python 教程库。包括从头开始学习 Python 的所有内容,从 Python 最基础的知识,到 Web 开发和 Web 爬取,再到数据可视化等等。

Online Python Tutor

在视觉上向您一步步展示程序是如何运行的。Python Tutor 帮助人们克服 学习编程的基本障碍,让您明白程序源码中的每一行的执行会有怎样的结果。

Invent Your Own Computer Games with Python

面向没有任何编程经验的新手书籍。每个章节都有一个小游戏的源码,这些程序例子说明了 编程概念,让读者了解到程序是什么样的。

Hacking Secret Ciphers with Python

此书向完全的新手讲解了 Python 编程和基本的密码学知识。所有章节提供了多种加密源码,也提供了破解程序。

Crash into Python

这个指南也叫 Python for Programmers with 3 Hours ,它给有其他语言开发经验的开发人员提供一个关于 Python 的快速教程。

Think Python: How to Think Like a Computer Scientist

通过使用 Python 语言来介绍计算机科学中的基本概念。重点是创建一本有大量练习的书,尽量减少专业术语,并在每一章中都有一节专门讨论调试的主题”。

在探索 Python 语言的各种功能时,作者将各种设计模式和最佳实践编织在一起。

此书中还包括一些案例研究,将书中的主题应用到实际例子中,供读者对主题进行更深入的讨论。案例研究包括 GUI 和 Markov 分析的任务。

Code the blocks

为初学者提供免费的交互式 Python 教程。它将 Python 编程与 3D 环境相结合,您可以在其中 “放置方块” 并构建结构。本教程将教您如何使用 Python 创建逐渐精细的 3D 结构,从而使得学习 Python 的过程变得有趣和吸引人。

中级#

Python Tricks: The Book

通过简单的示例发现 Python 的最佳实践,并开始编写更美观的且 Pythonic 的代码。

您将通过实际示例和清晰的叙述掌握 Python 的中级和高级功能。

Effective Python

此书包含 59 种具体方法来改进编写 Pythonic 代码。在这 227 页中,这是一个关于程序员需要做的一些最常见的程序以成为高效的中级 Python 程序员的非常简要的概述。

高级#

Pro Python

面向从中级到高级,想明白 Python 是如何以及为何这样工作,如何将代码水平提高一级的 Python 程序员。

Expert Python Programming

讲解编写 Python 的最佳实践,并专注更高级的人员。

它以诸如装饰器(伴随缓存、代理、上下文管理器、案例研究)、方法解析顺序、使用 super()、元编程和一般 PEP 8 上的最好实践开始。

它有一个详细的、多章的关于编写的案例研究,发行了一个包并最终成为一个应用,包含使用 zc.buildout 的一个章节。后面的章节详细讲述了最佳实践,比如编写文档、测试驱动开发、版本控制、优化和分析。

工程师和科学家#

A Primer on Scientific Programming with Python

由 Hans Petter Langtangen 编写,主要涵盖了 Python 在科学领域的使用。在这本书中,例子是从数学和自然科学中选出的。

Numerical Methods in Engineering with Python

由 Jaan Kiusalaas 编写,其重点是数值方法以及如何用 Python 来实现。

各种各样的话题#

Problem Solving with Algorithms and Data Structures

涵盖了一系列数据结构和算法。所有概念都用 Python 代码说明,提供了可在浏览器中直接运行的交互式样例。

Programming Collective Intelligence

介绍了大量基础的机器学习和数据挖掘方法。其展示在数学上并不是很正式,而是更侧重于解释潜在的直觉,以及展示如何使用 Python 来实现算法。

Transforming Code into Beautiful, Idiomatic Python

由 Raymond Hettinger 制作的视频。通过它可以学习到更好地使用 Python 的最佳特性,通过一系列的代码转换来改进现有代码:”当您看见这个,就那样去做”。

Fullstack Python

为使用 Python 进行 Web 开发提供了完整的自顶向下的资源。

范围涵盖从设置 Web 服务器到设计前端、选择数据库、优化/缩放等。

顾名思义,它涵盖了从头开始构建和运行完整的 Web 应用程序所需的所有内容。

PythonistaCafe

一个邀请式的在线社区,里面的 Python 和软件开发爱好者互帮互助、彼此成长。可以把它看做是 Pythonista 共同进行改进的俱乐部。在这里,每天都会讨论广泛的编程问题、职业建议,同时也会涉及其他主题。

参考#

Python in a Nutshell

由 Alex Martelli 编写,涵盖了 Python 跨平台的多数用法,从它的语法到内建库,再到比如说编写 C 扩展的高级主题。

The Python Language Reference

Python 的参考手册,它涵盖了这门语言的语法和核心语义。

Python Essential Reference

由 David Beazley 撰写,是 Python 的最终参考指南。它简明扼要地解释了标准库的核心语言和最重要的部分。 它涵盖了 Python 3 和 2.6 版本。

Python Pocket Reference

由 Mark Lutz 编写,是一个了解核心语言的易于使用的参考,介绍了常用的模块和工具集。它涵盖了 Python 3 和 Python 2。

Python Cookbook

由 David Beazley 和 Brian K. Jones 编写,打包了许多具有实践意义的“食谱”。这本书涵盖了核心 Python 语言,也涵盖了诸多不同应用的常见任务。

Writing Idiomatic Python

由 Jeff Knupp 编写,包含了最常见和最重要的 Python 习语,其形式尽可能地有辨识度和易于理解。每个习语都是编写一些常用代码片段的推荐方式,其后会解释为什么这个习语是重要的。每个习语均有两个代码样例:”有害的” 方式和 “理想的” 方式。