1.Python 入门教程

Python 入门教程

Release:3.2
Date:October 09, 2017

Python 入门教程
Release: 3.2
Date: October 09, 2017
Python 是种易学而强大的编程语言. 它包含了高效的高级数据结构, 能够用简单而高效的方式进行面向对象编程.Python 优雅的语法和和动态类型,以及它天然的解释能力, 使其成为了大多数平台上能广泛适用于各领域的理想脚本语言和开发环境.

Python 解释器及其扩展标准库的源码和编译版本可以从 Python 的 Web 站点 http://www.python.org 及其所有镜像站点上获得, 并且可以自由发布. 该站点上也提供了 Python 的一些第三方模块, 程序, 工具以及附加的文档.

Python 的解释器可以很容易的通过 C 或者 C++ (或者其它可以通过 C 调用的语言) 扩展新的函式和数据类型. Python 也可以作为定制应用的扩展语言.

本教程向读者介绍 Python 语言及其体系的基本知识与概念. 配合 Python 解释器学习会很有帮助, 因为文中己包含所有的完整例子, 所以这本手册也可以离线阅读.

需要有关标准对象和模块的详细介绍的话, 请参阅 库参考手册. 而 语言手册 提供了更多关于语言本身的正式说明. 需要编写 C 或 C++ 扩展, 请阅读 扩展和嵌入 以及 对C接口. 这几部分涵盖了Python 各领域的深入知识.

这份入门教程并未尝试讲解和涵盖 Python 的所有特性, 甚至也没有包含所有常用特性. 相反的, 只介绍 Python 中最引人注目的功能, 这对读者掌握这门语言的风格大有帮助. 读完后,你应该已能阅读和编写 Python 模块和程序, 接下去就可以从 Python 库参考手册 中进一步学习 Python 丰富库和模块.

术语表 也值得仔细阅读.

  1. 开胃菜
  2. 使用 Python 解释器
    2.1. 调用 Python 解释器
    2.1.1. 参数传递
    2.1.2. 交互模式
    2.2. 解释器及其环境
    2.2.1. 错误处理
    2.2.2. 可执行的 Python 脚本
    2.2.3. 源程序编码
    2.2.4. 交互式启动文件
    2.2.5. 定制模块
  3. 非正式介绍Python
    3.1. 把 Python 当计算器使用
    3.1.1. 数值
    3.1.2. 字符串
    3.1.3. 关于 Unicode
    3.1.4. 列表
    3.2. 编程第一步
  4. 深入流程控制
    4.1. if 语句
    4.2. for 语句
    4.3. range() 函式
    4.4. break 和 continue 语句, 以及循环中的 else 子句
    4.5. pass 语句
    4.6. 定义函式
    4.7. 深入函式定义
    4.7.1. 默认参数
    4.7.2. 关键字参数
    4.7.3. 任意参数表
    4.7.4. 参数列表解包
    4.7.5. Lambda 形式
    4.7.6. 文档字符串
    4.8. 插曲: 代码风格
    4.9. Function Annotations
  5. 数据结构
    5.1. 深入列表
    5.1.1. 把列表当成堆栈用
    5.1.2. 把列表当队列使用
    5.1.3. 列表推导式
    5.1.4. 嵌套列表推导式
    5.2. del 语句
    5.3. 元组和序列
    5.4. 集合(Set)
    5.5. 字典
    5.6. 遍历技巧
    5.7. 深入条件控制
    5.8. 序列和其它类型的比较
  6. 模块
    6.1. 深入模块
    6.1.1. 把模块当脚本执行
    6.1.2. 模块搜索路径
    6.1.3. “已编译” 的 Python 文件
    6.2. 标准模块
    6.3. dir() 函式
    6.4. 包
    6.4.1. 从包中导入 *
    6.4.2. 内部包参考
    6.4.3. 多目录的包
  7. 输入和输出
    7.1. 输出格式美化
    7.1.1. 旧式字符串格式化
    7.2. 读和写文件
    7.2.1. 文件对象的方法
    7.2.2. pickle 模块
  8. 错误和异常
    8.1. 语法错误
    8.2. 异常
    8.3. 处理异常
    8.4. 抛出异常
    8.5. 自定义异常
    8.6. 定义清理动作
    8.7. 预定义的清理动作

  9. 9.1. 关于名称和对象的讨论
    9.2. Python 的作用域和命名空间
    9.2.1. 域和命名空间的例子
    9.3. 类的初印象
    9.3.1. 类定义的语法
    9.3.2. 类对象
    9.3.3. 实例对象
    9.3.4. 方法对象
    9.4. 随机备注
    9.5. 继承
    9.5.1. 多重继承
    9.6. 私有变量
    9.7. 杂物
    9.8. 异常也是类
    9.9. 迭代器
    9.10. 发生器
    9.11. 生成器表达式
  10. 标准库的简明介绍
    10.1. 与操作系统的接口
    10.2. 文件的通配符
    10.3. 命令行参数
    10.4. 错误的重定向输出和程序的终止
    10.5. 字符串模式的区配
    10.6. 数学处理
    10.7. 访问互联网
    10.8. 日期和时间
    10.9. 数据的压缩
    10.10. 性能测试
    10.11. 质量控制
    10.12. 充电区
  11. 标准库的简明介绍(第二部分)
    11.1. 格式化输出
    11.2. 模板化
    11.3. Working with Binary Data Record Layouts
    11.4. 多线程
    11.5. 日志
    11.6. 弱引用
    11.7. 处理列表的工具
    11.8. 十进制浮点数的运算
  12. 现在干什么?
  13. 交互式输入编辑及历史替代
    13.1. 行编辑
    13.2. 历史替代
    13.3. 按键绑定
    13.4. 交互式解释器的替代品
  14. 浮点算术: 问题和限制
    14.1. 表示错误
    See also (^.^)
    原文: http://docs.python.org/py3k/tutorial/index.html
    初译: 刘鑫
    精译: DocsPy3zh
    校对: Zoom.Quiet
    复审:
    进一步的

本章的pdf 版本下载: Python_Tutorial_zh-cn_liam0205.pdf
由 ChinaTeX.org 社区版主 Liam Huang 支持,手工校订,精排编译而得!
比Sphinx 默认输出要漂亮的多! 大家感谢他吧!

一条评论

  1. 1. 开胃菜
    假如你用计算机做许多工作, 最终你会发现有些工作你会希望计算机能自动完成.

    例如, 你可能希望在大量的文本文件中进行查找替换操作, 或是要以复杂的方式重命名并整理大量图片. 又或想要编写一个小型的定制数据库, 又或一个特殊的图形界面程序, 甚或一个小型的游戏.

    如果你是名专业的软件开发者, 你可能不得不动用很多C/C++/Java库, 结果编写/编译/测试/重编译周期越来越长. 可能你需要给每个库编写对应的测试代码, 但发现这是个烦人的活儿. 或者你在编写的程序能使用一种扩展语言, 但你又不想整个重新设计和实现一回.

    这时, Python 正是你要的语言.

    或许你可以写一个 Unix shell 脚本抑或是 Windows 批处理文件来完成上述的一些工作, 但是脚本语言最擅长的是移动文件和对文本文件进行处理, 而在图形界面程序或游戏方面并不擅长.

    你能写 C/C++/Java 程序, 但是这些技术即使开发最简单的程序也要用去大量的时间. 无论在 Windows 、MacOS X 或 Unix 操作系统上, Python 都非常易于使用, 可以帮助你更快的完成任务.

    虽说 Python 很容易上手, 但她毕竟是一门真正的编程语言,

    相对于 Shell脚本或是批处理文件 , 对大型程序的和数据结构的支持, Python 要多的多. 另一方面, 她提供了比 C 更多的错误检查, 而且, 作为一门 非常高阶的语言 (very-high-level language), 她拥有内置高级数据结构类型, 例如可变数组和字典.

    因为 Python 拥有更多的通用数据类型,因此它相较 Awk 甚或是 Perl, 在更广泛的问题领域内有用武之地,而且在许多事情上 Python 表现的至少不比那些语言复杂。

    因为 Python 拥有更多的通用数据类型, 因此她相较 Awk 甚或是 Perl, 在更广泛的问题领域内有用武之地, 而且在许多事情上 Python 表现的至少比别的语言要易用的多.

    Python 允许你把自己的程序分隔成不同的模块, 以便在其它的 Python 程序中重用. Python 自带一个很大的标准模块集, 你应该把她们作为自己程序的基础 – 或者把它们做为开始学习 Python 时的编程实例. 其中一些模块中提供了诸如文件 I/O, 系统调用, sockets 甚至类似 TK 这样的图形接口.

    Python是一门解释型语言, 因为不需要编译和链接的时间, 她可以帮你省下一些开发时间. 解释器可以交互式的使用, 这使你很容易实验用各种语言特征, 写可抛弃的程序, 或在自下而上的开发期间测试功能. 她也是一个随手可得的计算器.

    Python 能让程序紧凑, 可读性增强. 用 Python 写的程序通常比同样的 C, C++ 或 Java 程序要短得多, 这是因为以下几个原因:

    高级数据结构使你可以在单独的语句中也能表述复杂的操作;
    语句的组织依赖于缩进而不是 开始/结束 符 (类似 C 族语言的 {} 符号或 Pascal 的begin/end关键字);
    参数或变量不需要声明.
    Note (~_~) 有关Python 使用缩进来进行语法结构控制的特性,这是在技术社区中经常引发争论的一点,习惯用标识符的程序猿有诸多怨辞; 从译者看来这正是 Python 最可爱的一点:
    精确体现出了内置的 简单就是美 的精神追求:
    不得写出难以看懂的代码!
    因为使用了空间上的缩进,所以:
    超过3层的编辑结构,会导致代码行超出屏幕,难以阅读
    团队中各自使用不同的缩进方式时,难以阅读其他人的代码
    超过一屏高度的代码,将难以理解层次关系

    那么这也意味着:
    你忽然开始享受人类最优雅和NB的编辑器了
    你的所有函式都能小于50行,简洁明了
    你所在的团队有稳定统一的代码规约了,你看任何人的代码都没有反胃的感觉了

    可能,这一特性唯一的问题就是 Python 没有从一开始硬性规定只能使用4个空格当成一级缩进.
    Python 是可扩展的: 如果你会用 C 写程序, 就可以很容易的为解释器添加新的 内建 函式或模块, 或者优化性能瓶颈, 使其达到最大速度, 或者使 Python 能够链接到必要的二进制架构 (比如某个专用的商业图形库). 一旦你真正掌握了, 你可以将 Python 集成进由 C 写成的程序, 把 Python 当做是这个程序的扩展或命令行语言.

    顺便说一下, 这个语言的名字来自于 BBC 的 “Monty Python’s Flying Circus” 节目, 和凶猛的爬行类生物没有任何关系. 在文档中引用 Monty Python 的典故不仅可行, 而且值得鼓励!

    现在我们已经了解了 Python 中所有激动人心的东西, 大概你想详细的尝试一下了. 的确,学习一门语言最好的办法就是使用她, 如你所读到的, 教程将邀请你在Python 解释环境中进行试练.

    下一节, 将先说明解释器的用法, 这没有什么神秘的内容, 不过有助于我们练习后面展示的例子.

    本教程其它部分通过示例介绍了 Python 语言和系统的各种功能, 开始是简单表达式, 语法和数据类型, 接下来是函式和模块, 最后是诸如异常和自定义类这样的高级内容.

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注