学习 Python

../_images/32800783863_11a00db52c_k_d.jpg

初学者

Python 教程

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

Real Python

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

Python 基础

pythonbasics.org 是初学者的入门教程,包括练习、涵盖了基础知识,还有深入的课程(如面向对象编程和正则表达式)。

Python for Beginners

thepythonguru.com 是一个专注于初学程序员的教程。它深入涵盖了许多 Python 概念。它还教您一些 Python 的高级概念,如 lambda 表达式、正则表达式等。最后,它以教程 “如何使用 Python 访问 MySQL 数据库” 结束。

Learn Python Interactive Tutorial

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

Python for You and Me

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

Learn Python Step by Step

Techbeamers.com 提供了手把手的教程讲解 Python。每个教程都补充了相关代码段,并配备了关于所学主题的后续测验。里面的 Python 面试题 部分可以帮助求职者。您还可以阅读必备的 Python 技巧,并学习编写高质量代码的 最佳编程实践。在这里,你将获得快速学习 Python 的正确平台。

Learn Python Basic to Advanced

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 的迁移版。它使用测试驱动的方法提供一个交互式的教程,来讲解基本的 Python 概念。通过修复在测试脚本中失败的断言,从而提供连续的步骤来学习 Python。

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

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

A Byte of Python

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

Computer Science Path on Codecademy

此 Codeacademy 课程面向绝对的 Python 初学者。这门免费、互动的课程提供和教授 Python 编程的基础(和以后)的内容,同时测试用户之间知识的进展。课程还内置了一个解释器,用于获取学习过程中的即时反馈。

Code the blocks

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

中级

Python Tricks: The Book

通过简单的示例发现 Python 的最佳实践,并开始编写更美观的且 Pythonic 的代码。Python Tricks: The Book 向您展示了具体方法。

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

Effective Python

本书包含 59 种具体方法来改进编写 Pythonic 代码。在这 227 页中,这是一个关于程序员需要做的一些最常见的程序以成为高效的中级 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__),能够使类和对象表现出不同的、魔法的行为。

注解

Rafekettler.com 目前已关闭,您可以直接访问他们的 GitHub 版本。在这里您可以找到一个 PDF 版本

工程师和科学家

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 的最佳特性,通过一系列的代码转换来改进现有代码:”当您看见这个,就那样去做”。

Fullstack Python

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

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

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

PythonistaCafe

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

参考

Python in a Nutshell

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

The Python Language Reference

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

Python Essential Reference

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

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 习语,其形式尽可能地有辨识度和易于理解。每个习语都是编写一些常用代码片段的推荐方式,其后会解释为什么这个习语是重要的。每个习语均有两个代码样例:”有害的” 方式和 “理想的” 方式。