Python 教程
Python 是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。Python 解释器及丰富的标准库,提供了适用于各个主要系统平台的源码或机器码,这些可以到 Python 官网 https://www.python.org/ 免费获取,并可自由地分发。许多免费的第三方 Python 模块、程序、工具和它们的文档,也能在这个网站上找到对应内容或链接。Python 解释器易于扩展,可以使用 C 或 C++(或者其他可以从 C 调用的语言)扩展新的功能和数据类型。Python 也可用作可定制化软件中的扩展程序语言。这个教程非正式地介绍了 Python 语言和系统的基本概念和功能。最好在阅读的时候准备一个 Python 解释器进行练习。所有的例子都是相互独立的,所以这个教程也可以离线阅读。有关标准的对象和模块,请参阅 Python 标准库。 Python语言参考 提供了更正式的语言定义。想要编写 C 或者 C++ 扩展可以参考 扩展和嵌入 Python 解释器 和 Python/C API 参考手册。另外还有不少书籍深入讲解 Python。这个教程并没有完整地介绍每一个功能,甚至可能没有涉及全部的常用功能。这个教程只介绍 Python 中最值得注意的功能,也会让你体会到这个语言的风格特色。学习完这个教程,你将可以阅读和编写 Python 模块和程序,也可以开始学习 Python 标准库。 术语对照表 也很值得一读。python.org 发布的 Python 教程包括下列内容:- 1. 课前甜点
- 2. 使用 Python 解释器
- 2.2.1. 源文件的字符编码
- 2.1.1. 传入参数
- 2.1.2. 交互模式
- 2.1. 调用解释器
- 2.2. 解释器的运行环境
- 3. Python 的非正式介绍
- 3.1.1. 数字
- 3.1.2. 字符串
- 3.1.3. 列表
- 3.1. Python 作为计算器使用
- 3.2. 走向编程的第一步
- 4. 其他流程控制工具
- 4.7.1. 参数默认值
- 4.7.2. 关键字参数
- 4.7.3. 特殊参数
- 4.7.4. 任意的参数列表
- 4.7.5. 解包参数列表
- 4.7.6. Lambda 表达式
- 4.7.7. 文档字符串
- 4.7.8. 函数标注
- 4.7.3.1. 位置或关键字参数
- 4.7.3.2. 仅限位置参数
- 4.7.3.3. 仅限关键字参数
- 4.7.3.4. 函数示例
- 4.7.3.5. 概括
- 4.1.
if
语句 - 4.2.
for
语句 - 4.3.
range()
函数 - 4.4.
break
和continue
语句,以及循环中的else
子句 - 4.5.
pass
语句 - 4.6. 定义函数
- 4.7. 函数定义的更多形式
- 4.8. 小插曲:编码风格
- 5. 数据结构
- 5.1.1. 列表作为栈使用
- 5.1.2. 列表作为队列使用
- 5.1.3. 列表推导式
- 5.1.4. 嵌套的列表推导式
- 5.1. 列表的更多特性
- 5.2.
del
语句 - 5.3. 元组和序列
- 5.4. 集合
- 5.5. 字典
- 5.6. 循环的技巧
- 5.7. 深入条件控制
- 5.8. 比较序列和其他类型
- 6. 模块
- 6.4.1. 从包中导入 *
- 6.4.2. 子包参考
- 6.4.3. 多个目录中的包
- 6.1.1. 以脚本的方式执行模块
- 6.1.2. 模块搜索路径
- 6.1.3. “编译过的”Python文件
- 6.1. 更多有关模块的信息
- 6.2. 标准模块
- 6.3.
dir()
函数 - 6.4. 包
- 7. 输入输出
- 7.2.1. 文件对象的方法
- 7.2.2. 使用
json
保存结构化数据 - 7.1.1. 格式化字符串文字
- 7.1.2. 字符串的 format() 方法
- 7.1.3. 手动格式化字符串
- 7.1.4. 旧的字符串格式化方法
- 7.1. 更漂亮的输出格式
- 7.2. 读写文件
- 8. 错误和异常
- 8.1. 语法错误
- 8.2. 异常
- 8.3. 处理异常
- 8.4. 抛出异常
- 8.5. 用户自定义异常
- 8.6. 定义清理操作
- 8.7. 预定义的清理操作
- 9. 类
- 9.5.1. 多重继承
- 9.3.1. 类定义语法
- 9.3.2. 类对象
- 9.3.3. 实例对象
- 9.3.4. 方法对象
- 9.3.5. 类和实例变量
- 9.2.1. 作用域和命名空间示例
- 9.1. 名称和对象
- 9.2. Python 作用域和命名空间
- 9.3. 初探类
- 9.4. 补充说明
- 9.5. 继承
- 9.6. 私有变量
- 9.7. 杂项说明
- 9.8. 迭代器
- 9.9. 生成器
- 9.10. 生成器表达式
- 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. 使用二进制数据记录格式
- 11.4. 多线程
- 11.5. 日志记录
- 11.6. 弱引用
- 11.7. 用于操作列表的工具
- 11.8. 十进制浮点运算
- 12. 虚拟环境和包
- 12.1. 概述
- 12.2. 创建虚拟环境
- 12.3. 使用pip管理包
- 13. 接下来?
- 14. 交互式编辑和编辑历史
- 14.1. Tab 补全和编辑历史
- 14.2. 默认交互式解释器的替代品
- 15. 浮点算术:争议和限制
- 15.1. 表示性错误
- 16. 附录
- 16.1.1. 错误处理
- 16.1.2. 可执行的Python脚本
- 16.1.3. 交互式启动文件
- 16.1.4. 定制模块
- 16.1. 交互模式
1. 课前甜点如果你经常在电脑上工作,总会有些任务会想让它自动化。比如,对一大堆文本文件进行查找替换,对很多照片文件按照比较复杂的规则重命名并放入不同的文件夹。也可能你想写一个小型的数据库应用,一个特定的图形界面应用,或者一个简单的游戏。如果你是专业的软件开发人员,你可能需要编写一些 C/C++/Java 库,但总觉得通常的 编写、编译、测试、再次编译 流程太慢了。可能给这样的库写一组测试,就是很麻烦的工作了。或许你写了个软件,可以支持插件扩展语言,但你不想为了自己这一个应用,专门设计和实现一种新语言了。那么,Python 正好能满足你的需要。对于这些任务,你也可以写 Unix shell 脚本或者 Windows 批处理完成,但是 shell 脚本最擅长移动文件和替换文本,并不适合 GUI 界面或者游戏开发。你可以写一个 C/C++/Java 程序,但是可能初稿都要很长的开发时间。Python 的使用则更加简单,可以在 Windows,Mac OS X,以及 Unix 操作系统上使用,而且可以帮你更快地完成工作。Python 很容易使用,但它是一种真正的编程语言,提供了很多数据结构,也支持大型程序,远超 shell 脚本或批处理文件的功能。Python 还提供比 C 语言更多的错误检查,而且作为一种 “超高级语言”,它有高级的内置数据类型,比如灵活的数组和字典。正因为这些更加通用的数据类型,Python 能够应付更多的问题,超过 Awk 甚至 Perl,而且很多东西在 Python 中至少和那些语言同样简单。Python 允许你将程序划分为能在其他的 Python 程序中重复利用的模块。它内置了很多的标准模块,你可以在此基础上开发程序——也可以作为例子,开始学习 Python 编程。例如,一切内置模块提供诸如文件输入输出、系统调用、套接字、甚至图形界面接口工作包比如 Tk。Python 是一种解释型语言,在程序开发阶段可以为你节省大量时间,因为不需要编译和链接。解释器可以交互式使用,这样就可以方便地尝试语言特性,写一些一次性的程序,或者在自底向上的程序开发中测试功能。它也是一个顺手的桌面计算器。Python 程序的书写是紧凑而易读的。Python 代码通常比同样功能的 C,C++,Java 代码要短很多,有如下几个原因:高级数据类型允许在一个表达式中表示复杂的操作;代码块的划分是按照缩进而不是成对的花括号;不需要预先定义变量或参数。Python 是 “可扩展的”:如果你知道怎么写 C 语言程序,就能很容易地给解释器添加新的内置函数或模块,不论是让关键的操作以最高速度运行,还是把 Python 程序链接到只提供预编译程序的库(比如硬件相关的图形库)。一旦你真正链接上了,就能在 Python 解释器中扩展或者控制 C 语言编写的应用了。顺便提一下,这种语言的名字(python 一词直译为 “蟒蛇”)得名自 BBC 节目 “Monty Python的飞行马戏团” ,而与爬行动物没有关系。在文档中用 Monty Python 来开玩笑不只是被允许的,还是被推荐的!现在你已经对 Python 跃跃欲试了,想要深入了解一些细节了。因为学习语言的最佳方式是使用它,本教程邀请你一边阅读,一边在 Python 解释器中玩耍。在下一章节,会讲解使用解释器的方法。看起来相当枯燥,但是对于尝试后续的例子来说,是非常关键的。教程的其他部分将通过示例介绍 Python 语言和系统中的不同功能,开始是比较简单的表达式、语句和数据类型,然后是函数和模块,最终接触一些高级概念,比如异常、用户定义的类。(from python.org)
阅读笔记对于零基础的小学生中学生来说,Python编程瞄准的是孩子父母的钱包,敲几行print代码还不如学习WPS Office,编排一页小报,制作一个简历电子表格,或者为一次旅行做几页PPT。Python可以做很多事,是因为:
- 标准库丰富,减少了基础工作量;
- 扩展库丰富,降低了开发工作量;
- 生态环境好,就像前几年言必称区块链一样。
![df98438d796b40fad1df98525af75158.png](https://i-blog.csdnimg.cn/blog_migrate/fc6eb680da1b2727382b226431dc943f.jpeg)