学习Python

../_images/32800783863_11a00db52c_k_d.jpg

初学者

The Python Tutorial

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

Real Python

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

Python Basics

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

Python for beginners

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

   Python for beginners

Learn Python Interactive Tutorial

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

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

Python for You and Me <https://pymbook.readthedocs.io/>

Learn Python Step by Step

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

学习 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编程的基础 (和以后)的内容,同时测试用户之间知识的进展。 本课程还内置了一个解释器,用于获取学习过程中的即时反馈。

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__),能够使类和对象表现出不同的、魔法的行为。

Note

Rafekettler.com目前已关闭,您可以直接访问他们的Github版本。 在这里您可以找到一个PDF版本: A Guide to Python’s Magic Methods (repo on GitHub)

工程师和科学家

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