学习Python

初学者

Python教程

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

Learn Python

Learnpython.org是一个简单易懂的了解Python的途径。网站采用了和流行的 Try Ruby 相同的方式,有一个交互式的Python解释器内建于网站中,允许你在学习Python课程时不需要在本地安装Python。

如果你想要更加传统的书籍, Python For You and Me 是一个极佳的学习Python所有方面的资源。

Online Python Tutor

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

Invent Your Own Computer Games with Python

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

Hacking Secret Ciphers with Python

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

Learn Python the Hard Way

这是一部极佳的新手编程者的Python指南。它涵盖了从控制台到web的“hello world”。

Crash into Python

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

Dive Into Python 3

Dive Into Python 3对准备使用Python 3的人来说是一本不错的书。如果你是从Python 2迁移到Python 3或者你已经有其他语言的编程经验,那么将会很好阅读。

Think Python: How to Think Like a Computer Scientist

Think Python 通过使用Python语言来介绍计算机科学中的基本概念。它着重提供大量的联系、最少的术语以及每章一个小节的调试部分。

在探索Python语言不通的特性时,作者编织了不同的设计模式和最佳实践。

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

Python Koans

Python Koans是Edgecase’s Ruby Koans的迁移版。它使用测试驱动的方法(参阅TEST DRIVEN DESIGN SECTION)提供一个交互式的教程,来讲解基本的Python概念。通过修复在测试脚本中失败的断言,从而提供连续的步骤来学习Python。

对于那些使用语言并找出自己的困惑的人来说,这会是个有趣并有吸引力的选择。对于新手来说,拥有一个额外的资源或者参考会是很有用的。

要了解更多关于测试驱动开发的内容,可以查看以下资源:

A Byte of Python

一本为新手讲解Python的免费入门书籍,它假定读者没有编程经验。

Learn to Program in Python with Codeacademy

此Codeacademy课程面向绝对的Python初学者。这门免费、互动的课程提供和教授Python编程的基础(和以后)的内容,同时测试用户之间知识的进展。

进阶者

Pro Python

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

Expert Python Programming

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

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

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

A Guide to Python’s Magic Methods

这是Rafe Kettler发表博文的集合,解释了Python中的“魔法方法”。魔法方法由双下划线包围(比如 __init__),能够使类和对象表现出不同的、魔法的行为。

工程师和科学家

A Primer on Scientific Programming with Python

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

Numerical Methods in Engineering with Python

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

各种各样的话题

Problem Solving with Algorithms and Data Structures

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

Programming Collective Intelligence

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

Transforming Code into Beautiful, Idiomatic Python

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

参考

Python in a Nutshell

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

The Python Language Reference

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

Python Pocket Reference

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

Python Cookbook

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

Writing Idiomatic Python

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