图书介绍
Python程序设计与算法基础教程PDF|Epub|txt|kindle电子书版本网盘下载
![Python程序设计与算法基础教程](https://www.shukui.net/cover/48/30491065.jpg)
- 江红,余青松主编 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302466833
- 出版时间:2017
- 标注页数:401页
- 文件大小:48MB
- 文件页数:421页
- 主题词:软件工具-程序设计-教材
PDF下载
下载说明
Python程序设计与算法基础教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章Python概述1
1.1 Python语言概述1
1.1.1 Python语言简介1
1.1.2 Python语言的特点1
1.1.3 Python语言的应用范围2
1.2 Python语言版本和开发环境2
1.2.1 Python语言的版本2
1.2.2 Python语言的实现2
1.2.3 Python语言的集成开发环境3
1.3下载和安装Python3
1.3.1下载Python3
1.3.2安装Python4
1.3.3安装和管理Python扩展包4
1.4使用Python解释器解释执行Python程序6
1.4.1运行Python解释器6
1.4.2运行Python集成开发环境7
1.5使用文本编辑器和命令行编写和执行Python源文件程序8
1.5.1编写Hello World程序9
1.5.2 Hello World程序(hello.py )源代码分析10
1.5.3运行Python源代码程序10
1.5.4命令行参数11
1.6使用集成开发环境IDLE编写和执行Python源文件程序12
1.6.1使用IDLE编写程序12
1.6.2使用IDLE编辑程序13
1.7在线帮助和相关资源13
1.7.1 Python交互式帮助系统13
1.7.2 Python文档16
1.7.3 Python官网17
1.7.4 Python扩展库索引(PyPI)17
复习题18
上机实践19
第2章Python语言基础20
2.1 Python程序概述20
2.1.1引例20
2.1.2 Python程序构成20
2.2 Python对象和引用21
2.2.1 Python对象概述21
2.2.2使用字面量创建实例对象21
2.2.3使用类对象创建实例对象22
2.2.4数据类型22
2.2.5变量和对象的引用22
2.2.6 Python是动态类型语言23
2.2.7 Python是强类型语言24
2.2.8对象内存示意图24
2.2.9对象的值比较(==)和引用判别(is)25
2.2.10不可变对象(immutable)和可变对象(mutable)25
2.3标识符及其命名规则26
2.3.1标识符26
2.3.2保留关键字27
2.3.3 Python预定义标识符27
2.3.4命名规则27
2.4变量和赋值语句28
2.4.1变量的声明和赋值28
2.4.2链式赋值语句28
2.4.3复合赋值语句29
2.4.4删除变量29
2.4.5系列解包赋值29
2.4.6常量30
2.5表达式和运算符30
2.5.1表达式的组成30
2.5.2表达式的书写规则31
2.5.3运算符概述31
2.5.4 Python运算符及其优先级31
2.6语句32
2.6.1 Python语句32
2.6.2 Python语句的书写规则33
2.6.3复合语句及其缩进书写规则33
2.6.4注释语句34
2.6.5空语句pass34
2.7函数和模块34
2.7.1函数的创建和调用34
2.7.2内置函数35
2.7.3模块函数35
2.7.4函数API36
2.8类和对象36
2.8.1创建类对象36
2.8.2实例对象的创建和调用37
2.9模块和包37
复习题37
上机实践39
第3章 程序流程控制41
3.1顺序结构41
3.2选择结构41
3.2.1分支结构的形式42
3.2.2单分支结构42
3.2.3双分支结构43
3.2.4多分支结构44
3.2.5 if语句的嵌套45
3.2.6 if语句典型示例代码46
3.2.7选择结构综合举例47
3.3循环结构48
3.3.1可迭代对象48
3.3.2 range对象49
3.3.3 for循环49
3.3.4 while循环50
3.3.5循环的嵌套51
3.3.6 break语句52
3.3.7 continue语句53
3.3.8死循环(无限循环)54
3.3.9 else子句55
3.3.10循环语句典型示例代码55
3.3.11循环结构综合举例56
复习题57
上机实践60
第4章 常用内置数据类型64
4.1 Python内置数据类型概述64
4.1.1数值数据类型64
4.1.2序列数据类型64
4.1.3集合数据类型65
4.1.4字典数据类型65
4.1.5 NoneType、 NotImplementedType和E1lipsisType65
4.1.6其他数据类型65
4.2 int数据类型(任意精度整数)65
4.2.1整型字面量66
4.2.2 int对象66
4.2.3 int对象的方法66
4.2.4整数的运算67
4.3 float类型(有限精度浮点数)68
4.3.1浮点类型字面量68
4.3.2 float对象68
4.3.3 float对象的方法68
4.3.4浮点数的运算69
4.4 complex类型(复数)70
4.4.1复数类型字面量70
4.4.2 complex对象70
4.4.3 complex对象属性和方法70
4.4.4复数的运算70
4.5 bool数据类型(布尔逻辑值)71
4.5.1布尔值字面量71
4.5.2 bool对象71
4.5.3逻辑运算符72
4.6 str数据类型(字符串)73
4.6.1字符串字面量73
4.6.2字符串编码73
4.6.3转义字符73
4.6.4 str对象74
4.6.5 str对象属性和方法74
4.6.6字符串的运算75
4.6.7对象转换为字符串75
4.6.8字符串的格式化75
4.7比较关系运算和条件表达式76
4.7.1条件表达式76
4.7.2关系和测试运算符77
4.8算术运算符和位运算符78
4.8.1算术运算符78
4.8.2位运算符78
4.9混合运算和数值类型转换79
4.9.1隐式转换79
4.9.2显式转换(强制转换)79
4.10内置标准数学函数80
4.10.1内置数学运算函数80
4.10.2数制转换函数80
复习题81
上机实践84
第5章 系列数据类型89
5.1 Python系列数据概述89
5.1.1数组89
5.1.2系列数据类型89
5.2系列数据的基本操作90
5.2.1系列的长度、最大值、最小值、求和90
5.2.2系列的索引访问操作90
5.2.3系列的切片操作91
5.2.4系列的连接和重复操作92
5.2.5系列的成员关系操作92
5.2.6系列的比较运算操作93
5.2.7系列的排序操作94
5.2.8内置函数all()和any()94
5.2.9系列拆封94
5.3元组95
5.3.1使用元组字面量创建元组实例对象95
5.3.2使用tuple对象创建元组实例对象96
5.3.3元组的系列操作96
5.4列表96
5.4.1使用列表字面量创建列表实例对象96
5.4.2使用list对象创建元组实例对象97
5.4.3列表的系列操作97
5.4.4 list对象的方法97
5.4.5列表解析表达式98
5.5字符串98
5.5.1字符串的系列操作98
5.5.2字符串编码99
5.5.3字符串格式化99
5.6字节系列102
5.6.1 bytes常量102
5.6.2创建bytes对象102
5.6.3创建bytearray对象103
5.6.4 bytes和bytearray的系列操作103
5.6.5字节编码和解码104
复习题104
上机实践106
第6章 输入和输出108
6.1输入和输出概述108
6.2命令行参数108
6.2.1 sys.argv与命令行参数108
6.2.2 argparse模块和命令行参数解析109
6.3标准输入和标准输出函数110
6.3.1输入和输出函数110
6.3.2交互式用户输入111
6.3.3运行时提示输入密码112
6.4文件和文件对象112
6.4.1文件对象和open函数112
6.4.2文件的打开、写入、读取和关闭113
6.4.3 with语句和上下文管理协议113
6.5标准输入、输出和错误流114
6.5.1标准输入、输出和错误流文件对象114
6.5.2读取任意长度的输入流115
6.5.3标准输入、输出和错误流重定向115
6.6重定向和管道116
6.6.1重定向标准输出到一个文件117
6.6.2重定向文件到标准输入117
6.6.3管道118
6.6.4过滤器119
复习题121
上机实践121
第7章 错误和异常处理123
7.1程序的错误123
7.1.1语法错误123
7.1.2运行时错误123
7.1.3逻辑错误124
7.2异常处理125
7.2.1异常处理概述125
7.2.2内置的异常类125
7.2.3引发异常127
7.2.4捕获处理异常机制概述128
7.2.5 Python虚拟机捕获处理异常128
7.2.6使用try …except…else …fiinally语句捕获处理异常128
7.2.7捕获异常的顺序129
7.2.8 fiinally块和发生异常后的处理130
7.2.9自定义异常类130
7.3断言处理131
7.3.1断言处理概述131
7.3.2 assert语句和AssertionError类131
7.3.3启用/禁用断言132
7.4程序的基本调试方法132
7.4.1语法错误的调试133
7.4.2运行时错误的调试133
7.4.3逻辑错误的调试134
复习题134
上机实践135
第8章 函数137
8.1函数概述137
8.1.1函数的基本概念137
8.1.2函数的功能137
8.1.3 Python函数分类137
8.2函数的声明和调用138
8.2.1函数对象的创建138
8.2.2函数的调用139
8.2.3作为对象的函数140
8.2.4 Lamda表达式和匿名函数140
8.2.5函数的副作用141
8.3参数的传递141
8.3.1形式参数和实际参数141
8.3.2形式参数变量和对象引用传递142
8.3.3传递不可变对象的引用142
8.3.4传递可变对象的引用143
8.3.5可选参数143
8.3.6位置参数和命名参数144
8.3.7可变参数145
8.3.8强制命名参数145
8.3.9参数类型检查146
8.4函数的返回值146
8.4.1 return语句和函数返回值146
8.4.2多条return语句147
8.4.3返回多个值148
8.5变量的作用域148
8.5.1全局变量148
8.5.2局部变量149
8.5.3全局语句global150
8.5.4非局部语句nonlocal151
8.5.5类成员变量151
8.5.6输出局部变量和全局变量151
8.6递归函数152
8.6.1递归函数的定义152
8.6.2递归函数的原理153
8.6.3递归函数需要注意的问题154
8.6.4递归函数的应用:最大公约数154
8.6.5递归函数的应用:汉诺塔155
8.7内置函数的使用156
8.7.1内置函数一览156
8.7.2 eval函数156
8.7.3 exec函数157
8.7.4 compile函数157
复习题157
上机实践159
第9章 类和对象161
9.1面向对象概念161
9.1.1对象的定义161
9.1.2封装161
9.1.3继承161
9.1.4多态性161
9.2类对象和实例对象162
9.2.1类对象162
9.2.2实例对象162
9.3属性163
9.3.1实例属性163
9.3.2类属性164
9.3.3私有属性和公有属性164
9.3.4@property装饰器165
9.3.5特殊属性167
9.3.6自定义属性167
9.4方法168
9.4.1实例方法168
9.4.2静态方法169
9.4.3类方法170
9.4.4 init方法(构造函数)和new方法171
9.4.5 del方法(析构函数)172
9.4.6私有方法与公有方法173
9.4.7方法重载173
9.5继承174
9.5.1派生类174
9.5.2查看继承的层次关系175
9.5.3类成员的继承和重写176
9.6对象的特殊方法176
9.6.1对象的特殊方法概述176
9.6.2运算符重载与对象的特殊方法177
9.6.3@functools.total_ordering装饰器179
9.6.4 call方法和可调用对象179
9.7对象的引用、浅拷贝和深拷贝180
9.7.1对象的引用180
9.7.2对象的浅拷贝180
9.7.3对象的深拷贝181
复习题181
上机实践183
第10章 模块和客户端185
10.1模块化程序设计的概念185
10.1.1模块化程序设计185
10.1.2模块的API185
10.1.3模块的实现186
10.1.4模块的客户端187
10.1.5模块化程序设计的优越性187
10.2模块的设计和实现188
10.2.1模块设计的一般原则188
10.2.2 API设计188
10.2.3创建模块188
10.2.4模块的私有函数189
10.2.5模块的测试代码190
10.2.6编写模块文档字符串191
10.2.7按字节编译的.pyc文件192
10.3模块的导入和使用192
10.3.1导入模块和使用模块192
10.3.2导入模块中的成员192
10.3.3重新加载模块193
10.3.4动态代入模块193
10.4包194
10.4.1包的概念194
10.4.2创建包194
10.4.3包的导入和使用195
10.5模块的导入顺序195
10.5.1导入模块时的搜索顺序195
10.5.2模块搜索路径sys.path196
10.5.3 dir()内置函数197
10.6命名空间与名称查找顺序198
复习题198
上机实践199
第11章 算法与数据结构基础200
11.1算法及其性能分析200
11.1.1算法概述200
11.1.2算法的时间复杂度分析200
11.1.3增长量级201
11.1.4算法的空间复杂度分析202
11.2查找算法202
11.2.1顺序查找法202
11.2.2二分查找法204
11.2.3 Python语言提供的查找算法205
11.3排序算法205
11.3.1冒泡排序法205
11.3.2选择排序法206
11.3.3插入排序法207
11.3.4归并排序法208
11.3.5快速排序法210
11.3.6 Python语言提供的排序算法211
11.4常用数据结构211
11.4.1数据结构概述211
11.4.2常用的数据结构概述212
11.4.3 Python的collections模块212
11.5数组213
11.5.1列表和数组213
11.5.2 array.array对象和数组213
11.6栈和队列214
11.6.1栈的实现:使用列表214
11.6.2 deque对象215
11.6.3 deque作为栈216
11.6.4 deque作为队列216
11.7集合217
11.7.1集合的定义217
11.7.2判断集合元素是否存在217
11.7.3集合的运算:并集、交集、差集和对称差集218
11.7.4集合的比较运算:相等、子集和超集218
11.7.5集合的长度、最大值、最小值、元素和219
11.7.6可变集合的方法219
11.8字典(映射)220
11.8.1对象的哈希值220
11.8.2字典的定义220
11.8.3字典的访问操作221
11.8.4字典的视图对象221
11.8.5判断字典键是否存在221
11.8.6字典对象的长度和比较221
11.8.7字典对象的方法222
11.8.8 defaultdict对象222
11.8.9 OrderedDict对象223
11.8.10 ChainMap对象223
11.8.11 Counter对象224
11.9 collections模块的其他数据结构226
11.9.1 namedtuple对象226
11.9.2 UserDict、 UserList和UserString对象227
复习题227
上机实践230
第12章 图形用户界面233
12.1图形用户界面概述233
12.1.1 tkinter233
12.1.2其他GUI库简介233
12.2 tkinter概述234
12.2.1 tkinter模块234
12.2.2图形用户界面构成234
12.2.3框架和GUI应用程序类235
12.2.4 tkinter主窗口236
12.3几何布局管理器236
12.3.1 pack几何布局管理器237
12.3.2grid几何布局管理器237
12.3.3 place几何布局管理器239
12.4事件处理240
12.4.1事件类型240
12.4.2事件绑定240
12.4.3事件处理函数241
12.5常用组件242
12.5.1 Label242
12.5.2 LabelFrame242
12.5.3 Button243
12.5.4 Message244
12.5.5 Entry245
12.5.6 Text245
12.5.7 Radiobutton247
12.5.8 Checkbutton247
12.5.9 Listbox250
12.5.10 OptionMenu251
12.5.11 Scale253
12 5.12 Toplevel254
12.5.13 ttk子模块控件254
12.6对话框255
12.6.1通用消息对话框255
12.6.2文件对话框256
12.6.3颜色选择对话框257
12.6.4通用对话框应用举例258
12.6.5简单对话框259
12.7菜单和工具栏260
12.7.1创建主菜单260
12.7.2创建上下文菜单262
12.7.3菜单应用举例263
复习题265
上机实践266
第13章 图形绘制268
13.1 Python绘图模块概述268
13.2基于tkinter的图形绘制269
13.2.1基于tkinter画布绘图概述269
13.2.2创建画布对象269
13.2.3绘制矩形270
13.2.4绘制椭圆270
13.2.5绘制圆弧271
13.2.6绘制线条271
13.2.7绘制多边形272
13.2.8绘制字符串273
13.2.9应用举例:函数图形273
13.3基于turtle模块的海龟绘图274
13.3.1海龟绘图概述274
13.3.2 turtle模块概述274
13.3.3绘制正方形275
13.3.4绘制多边形275
13.3.5绘制圆形螺旋276
13.3.6递归图形277
13.3.7海龟绘图的应用实例278
13.4基于Matplotlib模块的绘图279
13.4.1 Matplotlib模块概述279
13.4.2安装Matplotlib模块279
13.4.3使用Matplotlib模块绘图概述280
13.4.4绘制函数曲线280
13.4.5绘制多个图形281
13.4.6绘制直方图282
复习题283
上机实践284
第14章 数值日期和时间处理286
14.1相关模块概述286
14.1.1数值处理的相关模块286
14.1.2日期和时间处理的相关模块286
14.2 math模块和数学函数286
14.2.1 math模块的API286
14.2.2 math模块应用举例289
14.3 cmath模块和复数数学函数290
14.4 random模块和随机函数291
14.4.1种子和随机状态291
14.4.2随机整数292
14.4.3随机系列293
14.5数值运算模块NumPy293
14.5.1数值运算模块的基本使用293
14.5.2创建数组294
14.5.3处理数组295
14.5.4数组应用举例295
14.6日期和时间处理295
14.6.1相关术语295
14.6.2时间对象296
14.6.3测量程序运行时间296
14.6.4日期对象297
14.6.5获取当前日期时间297
14.6.6日期时间格式化为字符串298
14.6.7日期时间字符串解析为日期时间对象298
复习题299
上机实践300
第15章 字符串和文本处理303
15.1相关模块概述303
15.1.1字符串和文本处理的相关模块303
15.1.2字符串处理概述的常用方法303
15.2字符串处理的常用操作303
15.2.1字符串的类型判断303
15.2.2字符串大小写转换304
15.2.3字符串的填充、空白和对齐304
15.2.4字符串的测试、查找和替换305
15.2.5字符串的拆分和组合305
15.2.6字符串的翻译和转换306
15.2.7字符串应用举例306
15.3正则表达式307
15.3.1正则表达式语言概述307
15.3.2正则表达式引擎308
15.3.3普通字符和转义字符308
15.3.4字符类和预定义字符类309
15.3.5边界匹配符309
15.3.6重复限定符310
15.3.7匹配算法:贪婪和懒惰310
15.3.8选择分支311
15.3.9分组和向后引用311
15.3.10正则表达式的匹配模式313
15.3.11常用正则表达式313
15.4正则表达式模块re313
15.4.1匹配和搜索函数313
15.4.2匹配选项314
15.4.3正则表达式对象314
15.4.4匹配对象315
15.4.5匹配和替换316
15.4.6分割字符串316
15.5正则表达式应用举例316
15.5.1字符串包含验证316
15.5.2字符串查找和拆分317
15.5.3字符串替换和清除318
15.5.4字符串查找和截取318
复习题319
上机实践320
第16章 文件322
16.1文件操作相关模块概述322
16.2文本文件的读取和写入322
16.2.1文本文件的写入322
16.2.2文本文件的读取323
16.2.3文本文件的编码324
16.3二进制文件的读取和写入325
16.3.1二进制文件的写入325
16.3.2二进制文件的读取326
16.4随机文件访问326
16.5内存文件的操作328
16.5.1 StringIO和内存文本文件操作328
16.5.2 BytesIO和内存文本文件操作328
16.6文件的压缩和解压缩329
16.7 CSV文件格式的读取和写入329
16.7.1 csv .reader对象和csv文件的读取330
16.7.2 csv .writer对象和csv文件的写入330
16.7.3 csv .DictReader对象和csv文件的读取331
16.7.4 csv.DictWriter对象和csv文件的写入332
16.7.5 csv文件格式化参数和Dialect对象332
16.8 os模块和文件访问334
16.8.1文件描述符334
16.8.2使用os模块提供的函数访问文件334
16.9输入重定向和管道335
16.9.1 FileInput对象335
16.9.2 fiileinput模块的函数336
16.9.3输入重定向337
16.10对象系列化338
16.10.1对象系列化概念338
16.10.2 pickle模块和对象系列化338
复习题339
上机实践340
第17章 数据库访问341
17.1数据库基础341
17.1.1数据库概念341
17.1.2关系数据库341
17.2 Python数据库访问模块342
17.2.1通用数据库访问模块342
17.2.2专用数据库访问模块343
17.2.3 SQLite数据库和sqlite3模块343
17.3使用sqlite3模块连接和操作SQLite数据库344
17.3.1访问数据库的典型步骤344
17.3.2创建数据库和表346
17.3.3数据库表的插入、更新和删除操作346
17.3.4数据库表的查询操作347
复习题347
上机实践348
第18章 网络编程和通信349
18.1网络编程的基本概念349
18.1.1网络基础知识349
18.1.2 TCP/IP简介349
18.1.3 IP地址和域名350
18.1.4统一资源定位器URL351
18.2基于socket的网络编程352
18.2.1 socket概述352
18.2.2创建socket对象353
18.2.3将服务器端socket绑定到指定地址上353
18.2.4服务器端socket开始侦听354
18.2.5连接和接收连接355
18.2.6发送和接收数据355
18.2.7简单TCP程序:Echo Server355
18.2.8简单UDP程序:Echo Server357
18.2.9 UDP程序:Quote Server358
18.3基于urllib的网络编程359
18.3.1打开和读取URL网络资源359
18.3.2创建Request对象359
18.4基于http的网络编程360
18.5基于ftplib的网络编程360
18.5.1创建FTP对象361
18.5.2创建FTP TLS对象362
18.6基于poplib和smtplib的网络编程363
18.6.1使用poplib接收邮件363
18.6.2使用smtplib发送邮件363
复习题364
上机实践365
第19章 多线程编程367
19.1线程处理概述367
19.1.1进程和线程367
19.1.2线程的优缺点367
19.2创建和启动多线程368
19.2.1使用start_new _thread函数创建线程368
19.2.2使用Thread对象创建线程368
19.2.3自定义派生于Thread的对象370
19.2.4线程加入join()370
19.2.5用户线程和daemon线程371
19.3线程同步373
19.3.1线程同步处理373
19.3.2基于原语锁(Lock/RLock对象)的简单同步373
19.3.3基于条件变量(Condition对象)的同步和通信375
复习题377
上机实践378
第20章 系统管理379
20.1系统管理相关模块379
20.2目录、文件和磁盘的基本操作379
20.2.1创建目录379
20.2.2临时目录和文件的创建379
20.2.3切换当前工作目录380
20.2.4目录内容列表380
20.2.5文件通配符和glob.glob函数380
20.2.6遍历目录和os.walk函数381
20.2.7判断文件/目录是否存在381
20.2.8测试文件类型382
20.2.9文件的日期及其大小382
20.2.10文件和目录的删除382
20.2.11文件和目录复制、重命名和移动383
20.2.12磁盘的基本操作383
20.3执行操作系统命令和运行其他程序383
20.3.1 os.system函数383
20.3.2 os.popen函数384
20.3.3 subprocess模块384
20.4获取终端的大小385
20.5文件压缩和解压缩386
20.5.1 shutil模块支持的压缩和解压缩格式386
20.5.2 make archive()和文件压缩386
20.5.3 unpack archive()函数和文件解压缩387
20.6 confiigparser模块和配置文件387
20.6.1 INI文件及INI文件格式387
20.6.2 ConfigParser对象和INI文件操作388
复习题389
上机实践390
附录 复习题参考答案391
参考文献400