⊙ 编程基础、编程进阶"编程应用"项目实战"上机练习
⊙ 300个实例、64个练习题
超值、大容量DVD
⊙ 本书教学视频
⊙ 本书源代码
⊙ 本书教学PPT
本书技术支持
⊙ 论坛:http://www.rzchina.net
第一篇 Python语言基础
第1章 进入Python的世界
1.1 Python的由来
1.2 Python的特色
1.3 第一个Python程序
1.4 搭建开发环境
1.4.1 Python的下载和安装
1.4.2 交互式命令行的使用
1.5 Python的开发工具
1.5.1 PyCharm的使用
1.5.2 Eclipse IDE的介绍
1.5.3 EditPlus编辑器环境的配置
1.6 不同平台下的Python
1.7 小结
1.8 习题
第2章 Python必须知道的基础语法
2.1 Python的文件类型
2.1.1 源代码
2.1.2 字节代码
2.1.3 优化代码
2.2 Python的编码规范
2.2.1 命名规则
2.2.2 代码缩进与冒号
2.2.3 模块导入的规范
2.2.4 使用空行分隔代码
2.2.5 正确的注释
2.2.6 语句的分隔
2.3 变量和常量
2.3.1 变量的命名
2.3.2 变量的赋值
2.3.3 局部变量
2.3.4 全局变量
2.3.5 常量
2.4 数据类型
2.4.1 数字
2.4.2 字符串
2.5 运算符与表达式
2.5.1 算术运算符和算术表达式
2.5.2 关系运算符和关系表达式
2.5.3 逻辑运算符和逻辑表达式
2.6 小结
2.7 习题
第3章 Python的控制语句
3.1 结构化程序设计
3.2 条件判断语句
3.2.1 if条件语句
3.2.2 if…elif…else判断语句
3.2.3 if语句也可以嵌套
3.2.4 switch语句的替代方案
3.3 循环语句
3.3.1 while循环
3.3.2 for循环
3.3.3 break和continue语句
3.4 结构化程序示例
3.5 小结
3.6 习题
第4章 Python数据结构
4.1 元组结构
4.1.1 元组的创建
4.1.2 元组的访问
4.1.3 元组的遍历
4.2 列表结构
4.2.1 列表的创建
4.2.2 列表的使用
4.2.3 列表的查找、排序、反转
4.2.4 列表实现堆栈和队列
4.3 字典结构
4.3.1 字典的创建
4.3.2 字典的访问
4.3.3 字典的方法
4.3.4 字典的排序、复制
4.3.5 全局字典——sys.modules模块
4.4 序列
4.5 小结
4.6 习题
第5章 模块与函数
5.1 Python程序的结构
5.2 模块
5.2.1 模块的创建
5.2.2 模块的导入
5.2.3 模块的属性
5.2.4 模块的内置函数
5.2.5 自定义包
5.3 函数
5.3.1 函数的定义
5.3.2 函数的参数
5.3.3 函数的返回值
5.3.4 函数的嵌套
5.3.5 递归函数
5.3.6 lambda函数
5.3.7 Generator函数
5.4 小结
5.5 习题
第6章 字符串与正则表达式
6.1 常见的字符串操作
6.1.1 字符串的格式化
6.1.2 字符串的转义符
6.1.3 字符串的合并
6.1.4 字符串的截取
6.1.5 字符串的比较
6.1.6 字符串的反转
6.1.7 字符串的查找和替换
6.1.8 字符串与日期的转换
6.2 正则表达式应用
6.2.1 正则表达式简介
6.2.2 使用re模块处理正则表达式
6.3 小结
6.4 习题
第7章 使用Python处理文件
7.1 文件的常见操作
7.1.1 文件的创建
7.1.2 文件的读取
7.1.3 文件的写入
7.1.4 文件的删除
7.1.5 文件的复制
7.1.6 文件的重命名
7.1.7 文件内容的搜索和替换
7.1.8 文件的比较
7.1.9 配置文件的访问
7.2 目录的常见操作
7.2.1 创建和删除目录
7.2.2 目录的遍历
7.3 文件和流
7.3.1 Python的流对象
7.3.2 模拟java的输入、输出流
7.4 文件处理示例——文件属性浏览程序
7.5 小结
7.6 习题
第8章 面向对象编程
8.1 面向对象的概述
8.2 类和对象
8.2.1 类和对象的区别
8.2.2 类的定义
8.2.3 对象的创建
8.3 属性和方法
8.3.1 类的属性
8.3.2 类的方法
8.3.3 内部类的使用
8.3.4 __init__方法
8.3.5 __del__方法
8.3.6 垃圾回收机制
8.3.7 类的内置方法
8.3.8 方法的动态特性
8.4 继承
8.4.1 使用继承
8.4.2 抽象基类
8.4.3 多态性
8.4.4 多重继承
8.4.5 Mixin机制
8.5 运算符的重载
8.6 Python与设计模式
8.6.1 设计模式简介
8.6.2 设计模式示例——Python实现工厂方法
8.7 小结
8.8 习题
第9章 异常处理与程序调试
9.1 异常的处理
9.1.1 Python中的异常
9.1.2 try…except的使用
9.1.3 try…finally的使用
9.1.4 使用raise抛出异常
9.1.5 自定义异常
9.1.6 assert语句的使用
9.1.7 异常信息
9.2 使用自带IDLE调试程序
9.3 使用Easy Eclipse for Python调试程序
9.3.1 新建工程
9.3.2 配置调试
9.3.3 设置断点
9.4 小结
9.5 习题
第10章 Python 数据库编程
10.1 Python环境下的数据库编程
10.1.1 通过ODBC访问数据库
10.1.2 使用DAO对象访问数据库
10.1.3 使用ActiveX Data Object访问数据库
10.1.4 Python连接数据库的专用模块
10.2 使用Python的持久化模块读写数据
10.3 嵌入式数据库SQLite
10.3.1 SQLite的命令行工具
10.3.2 使用sqlite3模块访问SQLite数据库
10.4 小结
10.5 习题
第二篇 Python的GUI程序设计
第11章 Python的GUI开发
11.1 Python的GUI开发选择
11.1.1 认识Python内置的GUI库Tkinter
11.1.2 使用Tkinter进行开发
11.1.3 认识PyQT GUI库
11.1.4 使用PyQT GUI库进行开发
11.2 小结
11.3 习题
第12章 GUI编程与Tkinter相关组件介绍
12.1 GUI程序开发简介
12.2 Tkinter与主要组件
12.2.1 在程序中使用Tkinter
12.2.2 顶层窗口
12.2.3 标签
12.2.4 框架
12.2.5 按钮
12.2.6 输入框
12.2.7 单选按钮
12.2.8 复选按钮
12.2.9 消息
12.2.10 滚动条
12.2.11 列表框
12.3 Tkinter所有组件简介
12.4 小结
12.5 习题
第三篇 Python的Web开发
第13章 Python的HTML应用
13.1 HTML介绍
13.1.1 HTML的历史
13.1.2 SGML、HTML、XHTML、HTML5的关系
13.1.3 HTML的标签
13.1.4 HTML的框架组成
13.2 URL的处理
13.2.1 统一资源定位符URL
13.2.2 URL的解析
13.2.3 URL的拼合
13.2.4 URL的分解
13.2.5 URL的编解码
13.2.6 中文的编解码
13.2.7 查询参数的编码
13.3 CGI的使用
13.3.1 CGI介绍
13.3.2 获取CGI环境信息
13.3.3 解析用户的输入
13.4 获取HTML资源
13.4.1 使用urlopen和urlretrieve获取HTTP资源
13.4.2 分析返回资源的相关信息
13.4.3 自定义获取资源方式
13.4.4 使用http.client模块获取资源
13.5 HTML文档的解析
13.6 小结
13.7 习题
第14章 Python和XML
14.1 XML介绍
14.1.1 XML的演进历史
14.1.2 XML的优点和限制
14.1.3 XML技术的Python支持
14.2 XML文档概览和验证
14.2.1 XML文档的基础概念
14.2.2 XML文档的结构良好性验证
14.2.3 XML文档的有效性验证
14.3 分析XML文档结构
14.3.1 XML的元素和标签
14.3.2 元素的属性
14.3.3 XML的名字
14.3.4 字符实体
14.3.5 CDATA段
14.3.6 注释
14.3.7 处理指令
14.3.8 XML定义
14.4 使用SAX处理XML文档
14.4.1 SAX介绍
14.4.2 SAX处理的组成部分
14.5 使用DOM处理XML文档
14.5.1 DOM介绍
14.5.2 xml.dom模块中的接口操作
14.5.3 对XML文档的操作
14.6 小结
14.7 习题
第15章 Python的Web开发——Django框架的应用
15.1 常见的Web开发框架
15.1.1 Zope
15.1.2 TurboGears
15.1.3 Django
15.1.4 其他Web开发框架
15.1.5 根据自身所需选择合适的开发框架
15.2 MVC模式
15.2.1 MVC模式介绍
15.2.2 MVC模式的优缺点
15.2.3 Django框架中的MVC
15.3 Django开发环境的搭建
15.3.1 Django框架的安装
15.3.2 数据库的配置
15.4 Django框架的应用
15.4.1 Web应用的创建
15.4.2 Django中的开发服务器
15.4.3 创建数据库
15.4.4 生成Django应用
15.4.5 创建数据模型
15.4.6 URL设计
15.4.7 创建视图
15.4.8 模板系统
15.4.9 发布Django项目
15.5 Django框架的高级应用
15.5.1 管理界面
15.5.2 生成数据库数据
15.5.3 Session功能
15.5.4 国际化
15.6 小结
15.7 习题
第四篇 Python其他应用
第16章 敏捷方法学在Python中的应用——测试驱动开发
16.1 测试驱动开发
16.1.1 测试驱动开发模式
16.1.2 TDD的优势
16.1.3 TDD的使用步骤
16.2 unittest测试框架
16.2.1 unittest模块介绍
16.2.2 构建测试用例
16.2.3 构建测试固件
16.2.4 组织多个测试用例
16.2.5 构建测试套件
16.2.6 重构代码
16.2.7 执行测试
16.3 使用doctest进行测试
16.3.1 doctest模块介绍
16.3.2 构建可执行文档
16.3.3 执行doctest测试
16.4 小结
16.5 习题
第17章 Python中的进程和线程
17.1 进程和线程
17.1.1 进程和线程的概念
17.1.2 Python中对于进程和线程处理的支持
17.2 Python下的进程编程
17.2.1 进程运行环境
17.2.2 创建进程
17.2.3 终止进程
17.3 使用subprocess模块管理进程
17.3.1 使用Popen类管理进程
17.3.2 调用外部系统命令
17.3.3 替代其他进程创建函数
17.4 进程间的信号机制
17.4.1 信号的处理
17.4.2 信号使用的规则
17.5 多线程概述
17.5.1 什么是多线程
17.5.2 线程的状态
17.5.3 Python中的线程支持
17.6 生成和终止线程
17.6.1 使用_thread模块
17.6.2 使用threading.Thread类
17.7 管理线程
17.7.1 线程状态转移
17.7.2 主线程对子线程的控制
17.7.3 线程中的局部变量
17.8 线程之间的同步
17.8.1 临界资源和临界区
17.8.2 锁机制
17.8.3 条件变量
17.8.4 信号量
17.8.5 同步队列
17.8.6 线程同步小结
17.9 小结
17.10 习题
第18章 基于Python的系统管理
18.1 增强的交互式环境IPython
18.1.1 IPython介绍
18.1.2 IPython的安装
18.1.3 IPython的启动
18.1.4 IPython的环境配置
18.2 和IPython的简单交互
18.2.1 IPython中的输入和输出
18.2.2 输出提示符的区别
18.2.3 输出提示符区别的原因
18.3 IPython中的magic函数
18.3.1 magic函数的使用和构造
18.3.2 目录管理
18.3.3 对象信息的收集
18.3.4 magic函数小结
18.4 IPython适合于系统管理的特点
18.4.1 Tab补全
18.4.2 历史记录功能
18.4.3 执行外部系统命令和运行文件
18.4.4 对象查看和自省
18.4.5 直接编辑代码
18.4.6 设置别名和宏
18.5 使用Python进行文件管理
18.5.1 文件的比较
18.5.2 文件的归档
18.5.3 文件的压缩
18.6 使用Python定时执行任务
18.6.1 使用休眠功能
18.6.2 使用sched模块来定时执行任务
18.7 小结
18.8 习题
第19章 Python和网络编程
19.1 网络模型介绍
19.1.1 OSI简介
19.1.2 TCP/IP简介
19.2 Socket应用
19.2.1 Socket基础
19.2.2 Socket的工作方式
19.3 服务器端和客户端通信
19.3.1 服务器端的构建
19.3.2 客户端的构建
19.4 异步通信方式
19.4.1 使用Fork方式
19.4.2 使用线程方式
19.4.3 使用异步IO方式
19.4.4 使用asyncore模块
19.5 Twisted网络框架
19.5.1 Twisted框架介绍
19.5.2 Twisted框架下服务器端的实现
19.5.3 Twisted框架下服务器端的其他处理
19.6 小结
19.7 习题
第20章 常见的Python网络应用
20.1 使用FTP传输文件
20.1.1 FTP的工作原理和Python库支持
20.1.2 FTP的登录和退出
20.1.3 FTP的数据传输
20.2 使用POP3获取邮件
20.2.1 POP3协议介绍
20.2.2 poplib模块的使用
20.3 使用SMTP发送邮件
20.3.1 SMTP协议介绍
20.3.2 smtplib模块的使用
20.4 使用Telnet远程登录
20.4.1 Telnet协议介绍和Python库支持
20.4.2 telnetlib模块的使用
20.5 使用SNMP管理网络
20.5.1 SNMP协议组成
20.5.2 PySNMP框架介绍及使用
20.6 网络分析
20.6.1 网络分析概述
20.6.2 使用Scapy在网络中抓包分析
20.7 小结
20.8 习题
第21章 图像处理
21.1 图像处理相关概念
21.1.1 Python下的图像处理包
21.1.2 Pillow支持的图像文件格式
21.1.3 图像处理中的其他概念
21.2 基本的图像处理
21.2.1 图像的读写操作
21.2.2 获取图像信息
21.2.3 图像文件格式的转换
21.2.4 图像的裁剪和合成
21.2.5 图像的变换
21.3 图像处理的高级应用
21.3.1 图像的通道操作
21.3.2 对图像的增强
21.3.3 Pillow中的内置滤镜
21.4 小结
21.5 习题
第22章 Python语言的扩展与嵌入
22.1 Python语言的扩展
22.1.1 Python扩展简介
22.1.2 一个C扩展的例子
22.1.3 模块方法表和初始化函数
22.1.4 编译和测试
22.2 Python语言的嵌入
22.2.1 Python嵌入简介
22.2.2 一个Python嵌入的例子
22.2.3 更好的嵌入
22.3 小结
22.4 习题
第23章 Windows下的Python开发
23.1 组件对象模型
23.1.1 组件对象模型介绍
23.1.2 COM结构
23.1.3 COM对象的交互
23.2 Python对COM技术的支持
23.2.1 Python中的Windows扩展:PyWin32
23.2.2 客户端COM组件
23.2.3 实现COM组件
23.3 Windows下的常见Python应用
23.3.1 对Word的自动访问
23.3.2 对Excel的自动访问
23.3.3 对PowerPoint的自动访问
23.3.4 对Outlook的自动访问
23.4 小结
23.5 习题
为了能够使广大读者既能够掌握Python语言的基础知识,又能够将Python语言应用于某个特定的领域(如Web开发),本书将全面介绍和Python相关的这些内容。在学习完本书之后,相信读者能够很好地掌握Python语言,同时可以使用Python语言进行实际项目的开发。
本书特点
1.循序渐进,由浅入深
为了方便读者学习,本书首先让读者了解Python的历史和特点。通过具体的例子逐渐把读者带入Python的世界,掌握Python语言的基本要点以及基础类库、常用库和工具的使用。
2.技术全面,内容充实
本书在保证内容实用的前提下,详细介绍了Python语言的各个知识点。同时,本书所涉及的内容非常全面,无论从事什么行业的读者,都可以从本书中找到可应用Python于本行业的地方。
3.对比讲解,理解深刻
有很多读者具备Java的开发经验,因此本书注意结合Python与Java语法的异同点进行讲解。同时本书注意对Python中相似的函数和方法进行对比。通过对比讲解的方式,帮助读者解决一些疑难问题,加深读者对Python语法要点的理解。
4.分析原理,步骤清晰
每种编程语言都有自己独特的魅力。掌握一门技术首先需要理解原理,本书注意把握各个知识点的原理,总结实现的思路和步骤。读者可以根据具体步骤实现书中的例子,理论结合实践更利于学习。
5.代码完整,讲解详尽
对于书中的每个知识点都有一段示例代码,并对代码的关键点进行了注释说明。每段代码的后面都有详细的分析,同时给出了代码运行后的结果。读者可以参考运行结果阅读源程序,可以加深对程序的理解。
本书内容
第1章:如果读者还是一个新手,可通过这一章了解Python能做什么,Python的特征和优势,逐渐步入Python的世界。
第2章:详细介绍了Python的语法知识,深入讲解了Python的编码规则、变量和常量的声明及使用、数据类型、运算符和表达式。通过本章的学习,读者能掌握Python编码的一些规范以及一些基本概念。
第3章:详细介绍了Python中的控制语句、循环语句以及一些习惯用法,结合示例讲解了Python结构化编程的要点。
第4章:介绍了Python的内置数据结构——元组、列表、字典和序列。根据使用习惯分别介绍了这些内置数据结构的特点以及区别。
第5章:讲解了Python中模块和函数的概念。重点介绍了Python的常用内置模块、函数的参数、递归函数、lambda函数、Generator函数等内容。
第6章:重点介绍了Python中字符串的处理,包括字符串的格式化、比较、合并、截取、查找、替换等。讲解了正则表达式的概念以及使用re模块处理正则表达式。
第7章:介绍了Python对文件的基本操作,包括文件的创建、读写、删除、复制、搜索、替换和比较。重点介绍了Python对目录遍历的实现,以及Python的流对象。
第8章:介绍了面向对象程序设计的要点,重点讲解了Python如何实现面向对象的特性,以及Python中的设计模式。
第9章:详细介绍了Python对异常的处理、异常的捕获和抛出、自定义异常等内容。讲解了如何使用IDLE和Easy Eclipse for Python调试Python程序。
第10章:介绍了Python的数据库编程,重点讲解了使用ODBC、DAO、ADO、Python专用模块连接数据库,以及Python的持久化。最后结合SQLite数据库的示例讲解了Python对数据库的操作。
第11章:介绍Python的GUI开发。主要介绍了当前Python中使用比较多的Tkinter和PyQT。
第12章:介绍了Python自带的GUI开发库Tkinter的基本组件及其使用方法,并给出每种组件的详细示例代码与图示。
第13章:介绍了Python的HTML应用。详细介绍了URL的解析以及HTML资源的获取,同时对CGI的使用和HTML文档的解析进行了介绍。
第14章:讲解了Python的XML操作,包括XML的各种内容实体。还对XML文档的两种处理方式SAX和DOM进行了详细的讲解。
第15章:对Python中常用的Web开发框架进行了介绍。在介绍了MVC模式的基础上,对Django框架进行了详细的讲解,包括基本使用方法和高级使用方法。
第16章:介绍了Python中的测试框架。主要讲解Python中两种测试框架:unittest和doctest。讲解的时候,都配以示例,以利于读者掌握。
第17章:介绍了Python中进程和线程的概念。主要的内容包括进程和线程的创建及管理等。同时,着重讲解了多线程环境下的数据同步机制。
第18章:介绍了Python的系统管理,其中主要讲解IPython的应用,不仅包括IPython的介绍,还包括其常见应用。
第19章:讲解了Python中和网络编程相关的内容,包括服务器端和客户端的通信。随后着重介绍了网络中的异步通信方式,最后对Twisted框架进行了介绍。
第20章:讲解了Python开发中常见的网络应用。主要包括文件传输、邮件的接收和发送、远程登录以及简单网络管理功能的实现。最后对使用Scapy分析网络数据进行了介绍。
第21章:讲解了Python图像处理,通过各种示例,读者能够迅速掌握相关知识点并用于实践。
第22章:介绍了Python语言的扩展和嵌入应用。这两种技术使得Python语言有了更进一步的发展。
第23章:介绍了Windows下的Python开发,主要介绍了组件对象模型。同时,使用示例来讲解Windows下的各种Python应用。
适合读者
? Python爱好者
? 大中专院校的学生
? 社会培训班学生
? 高等教育学校的学生
? 系统管理员
? 界面开发人员
? Web开发人员
? 网络编程人员