图书介绍

Python程序设计教程【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Python程序设计教程
  • 江红,余青松编著 著
  • 出版社: 清华大学出版社;北京交通大学出版社
  • ISBN:9787512120433
  • 出版时间:2014
  • 标注页数:358页
  • 文件大小:55MB
  • 文件页数:379页
  • 主题词:软件工具-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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语言的实现3

1.2.3 Python语言的集成开发环境3

1.3 下载和安装Python3

1.3.1 下载Python3

1.3.2 安装Python4

1.4 使用Python解释器解释执行Python程序5

1.4.1 运行Python解释器5

1.4.2 运行Python集成开发环境6

1.5 使用文本编辑器和命令行编写和执行Python源文件程序7

1.5.1 编写Hello world程序7

1.5.2 Hello world程序(hello.py)源代码分析8

1.5.3 运行Python源代码程序8

1.6 使用集成开发环境IDLE编写和执行Python源文件程序9

1.6.1 使用IDLE编写Hello world程序10

1.6.2 使用IDLE编辑程序10

1.7 复习题11

1.8 上机实践12

第2章 Python语言基础13

2.1 语句13

2.1.1 Python语句13

2.1.2 Python语句的书写规则13

2.1.3 复合语句及其缩进书写规则14

2.1.4 注释语句14

2.1.5 空语句pass15

2.2 表达式15

2.2.1 表达式的组成15

2.2.2 表达式的书写规则15

2.3 运算符15

2.3.1 运算符概述15

2.3.2 Python运算符及其优先级16

2.4 标识符及其命名规则17

2.4.1 标识符17

2.4.2 保留关键字17

2.4.3 Python预定义标识符18

2.4.4 命名规则18

2.5 对象与引用18

2.5.1 对象的类型(type)和标识(id)18

2.5.2 对象引用19

2.5.3 对象比较(==)和类型判别(is)19

2.5.4 不可变对象(immutable)和可变对象(mutable)20

2.6 变量和赋值20

2.6.1 变量和数据类型20

2.6.2 变量的声明和赋值21

2.6.3 链式赋值语句21

2.6.4 复合赋值语句21

2.6.5 删除变量(del)22

2.6.6 系列解包赋值22

2.7 数据类型23

2.7.1 NoneType,NotImplementedType和Ellipsis23

2.7.2 数值数据类型23

2.7.3 序列数据类型24

2.7.4 集合数据类型25

2.7.5 字典数据类型25

2.7.6 其他数据类型25

2.8 类的声明和对象的创建与调用26

2.8.1 类的声明26

2.8.2 对象的创建和调用26

2.9 函数27

2.9.1 函数的声明和调用27

2.9.2 内置函数28

2.9.3 模块函数和import语句28

2.9.4 输入和输出函数29

2.9.5 运行时提示输入密码29

2.10 模块和包30

2.11 Python文档注释30

2.11.1 文档字符串30

2.11.2 文档注释规范31

2.12 复习题32

2.13 上机实践35

第3章 程序流程控制36

3.1 bool数据类型和相关运算符36

3.1.1 bool类型36

3.1.2 关系和测试运算符36

3.1.3 逻辑运算符37

3.2 顺序结构38

3.3 选择结构39

3.3.1 分支结构的形式39

3.3.2 单分支结构39

3.3.3 双分支结构40

3.3.4 多分支结构41

3.3.5 if语句的嵌套42

3.3.6 选择结构综合举例43

3.4 循环结构44

3.4.1 可迭代对象(iterable)44

3.4.2 for循环45

3.4.3 range对象45

3.4.4 while循环46

3.4.5 循环的嵌套47

3.4.6 break语句48

3.4.7 continue语句49

3.4.8 else子句50

3.5 异常处理51

3.5.1 错误和异常51

3.5.2 异常处理概述51

3.5.3 内置的异常类52

3.5.4 自定义异常类53

3.5.5 引发异常53

3.5.6 捕获处理异常try…except…finally54

3.6 断言处理56

3.6.1 断言处理概述56

3.6.2 assert语句和AssertionError类57

3.6.3 启用/禁用断言57

3.7 复习题58

3.8 上机实践62

第4章 数值类型64

4.1 int类型(任意精度整数)64

4.1.1 整型常量64

4.1.2 int对象65

4.1.3 数制转换函数65

4.1.4 整数的运算65

4.2 float类型(有限精度浮点数)65

4.2.1 浮点类型常量66

4.2.2 float对象66

4.2.3 浮点数的运算66

4.3 Decimal类型(高精度浮点数)67

4.3.1 浮点数运算误差67

4.3.2 Decimal对象67

4.3.3 Context对象68

4.3.4 高精度浮点数的运算71

4.4 Fraction类型(分数)71

4.4.1 Fraction对象71

4.4.2 分数的运算72

4.5 complex类型(复数)72

4.5.1 复数类型常量72

4.5.2 创建complex对象72

4.5.3 complex类型的方法73

4.5.4 复数的运算73

4.6 算术运算符和位运算符73

4.6.1 算术运算符73

4.6.2 位运算符74

4.6.3 混合运算和数值类型转换74

4.6.4 内置标准数学函数75

4.7 mathh模块和数学函数75

4.8 cmath模块和复数数学函数78

4.9 random模块和随机函数79

4.9.1 种子和随机状态80

4.9.2 随机整数80

4.9.3 随机系列81

4.9.4 随机实值分布82

4.10 相关模块82

4.10.1 标准库中的相关模块82

4.10.2 数值运算模块NumPy83

4.10.3 科学计算模块SciPy83

4.11 复习题83

4.12 上机实践84

第5章 系列:元组、列表和字符串89

5.1 系列的基本操作89

5.1.1 系列的索引访问操作89

5.1.2 系列的切片操作90

5.1.3 系列的连接和重复操作91

5.1.4 系列的成员关系操作91

5.1.5 系列的比较运算操作92

5.1.6 系列的排序操作92

5.1.7 系列长度、最大值、最小值、求和93

5.1.8 内置函数all()和any()93

5.1.9 系列拆封93

5.2 元组94

5.2.1 元组的定义94

5.2.2 元组的基本操作95

5.3 列表95

5.3.1 列表的定义95

5.3.2 列表的基本操作95

5.3.3 list对象的方法96

5.3.4 列表解析表达式96

5.3.5 列表作为队列和栈97

5.4 字符串97

5.4.1 Unicode和字符常量97

5.4.2 字符串常量98

5.4.3 创建str对象99

5.4.4 字符串的基本操作99

5.4.5 str对象的方法99

5.4.6 字符串编码102

5.4.7 字符串格式化103

5.5 字节系列105

5.5.1 bytes常量105

5.5.2 创建bytes对象106

5.5.3 创建bytearrary对象106

5.5.4 bytes和bytearrary的基本操作107

5.6 复习题107

5.7 上机实践110

第6章 字典和集合类型112

6.1 字典112

6.1.1 对象的hash值112

6.1.2 字典的定义112

6.1.3 字典的访问操作113

6.1.4 字典的视图对象113

6.1.5 判断字典键是否存在113

6.1.6 字典对象的长度和比较114

6.1.7 字典对象的方法114

6.2 集合115

6.2.1 集合的定义115

6.2.2 判断集合元素是否存在115

6.2.3 集合的运算:并集、交集、差集和对称差集116

6.2.4 集合的比较运算:相等、子集和超集116

6.2.5 集合的长度、最大值、最小值、元素和117

6.2.6 可变集合的方法117

6.3 复习题118

6.4 上机实践119

第7章 文件和流I/O121

7.1 文件和文件对象121

7.1.1 文件和流概述121

7.1.2 文件对象和open函数121

7.1.3 with语句和上下文管理协议122

7.2 文本文件的读取和写入122

7.2.1 文本文件的写入122

7.2.2 文本文件的读取123

7.2.3 文本文件的编码124

7.3 二进制文件的读取和写入125

7.3.1 二进制文件的写入125

7.3.2 二进制文件的读取125

7.4 随机文件访问126

7.5 CSV文件格式的读取和写入127

7.5.1 csv.reader对象和csv文件的读取127

7.5.2 csv.writer对象和csv文件的写入128

7.5.3 csv.DictReader对象和csv文件的读取128

7.5.4 csv.DictWriter对象和csv文件的写入129

7.5.5 csv文件格式化参数和Dialect对象130

7.6 os模块和文件访问131

7.6.1 文件描述符131

7.6.2 使用os模块提供的函数访问文件131

7.7 对象系列化132

7.7.1 对象系列化132

7.7.2 pickle模块和对象系列化132

7.8 输入重定向和管道133

7.8.1 FileInput对象133

7.8.2 fileinput模块的函数134

7.8.3 输入重定向135

7.9 复习题136

7.10 上机实践136

第8章 函数与函数编程137

8.1 函数的声明和调用137

8.2 参数的传递138

8.2.1 形式参数和实际参数138

8.2.2 可选参数138

8.2.3 位置参数和命名参数139

8.2.4 可变参数(VarArgs)140

8.2.5 强制命名参数(Keyword-only)140

8.3 函数的返回值141

8.4 变量的作用域142

8.4.1 全局变量142

8.4.2 局部变量142

8.4.3 类成员变量142

8.4.4 全局语句global142

8.4.5 非局部语句nonlocal143

8.5 函数装饰器144

8.5.1 装饰器的声明和使用144

8.5.2 @functools.wraps装饰器146

8.5.3 functools.update-wrapper函数146

8.6 递归函数147

8.7 作为对象的函数148

8.8 Lambda表达式和匿名函数148

8.9 operator模块和运算符函数149

8.10 eval、exec和compile函数149

8.10.1 运行上下文的局部变量和全局变量149

8.10.2 eval函数和动态表达式的求值150

8.10.3 exec函数和动态语句的执行150

8.10.4 compile函数和动态语句的执行150

8.11 functools模块和函数工具150

8.11.1 partial对象151

8.11.2 reduce函数151

8.11.3 @functools.lru_cache装饰器151

8.1 2复习题152

8.13 上机实践153

第9章 类和对象155

9.1 面向对象概念155

9.1.1 对象的定义155

9.1.2 封装155

9.1.3 继承156

9.1.4 多态性156

9.2 类和对象156

9.2.1 类的声明157

9.2.2 对象的创建和使用157

9.3 属性157

9.3.1 实例属性和类属性158

9.3.2 私有属性和公有属性160

9.3.3 @property装饰器160

9.3.4 特殊属性(Special Attributes)161

9.3.5 自定义属性(Custom Attributes)162

9.4 方法163

9.4.1 方法的声明和调用163

9.4.2 _init_方法(构造函数)和_new_方法164

9.4.3 _del_方法(析构函数)164

9.4.4 实例方法、类方法(@classmethod)与静态方法(@staticmethod)165

9.4.5 私有方法与公有方法166

9.4.6 方法重载167

9.4.7 运算符重载168

9.4.8 @functools.total_ordering装饰器169

9.4.9 特殊方法(Special Method)170

9.4.10 _call_方法和可调用对象(callabe)170

9.5 继承171

9.5.1 派生类171

9.5.2 类成员的继承和重写172

9.6 对象的引用、浅拷贝和深拷贝173

9.6.1 对象的引用173

9.6.2 对象的浅拷贝173

9.6.3 对象的深拷贝174

9.7 复习题174

9.8 上机实践175

第10章 模块和包177

10.1 模块的导入和使用177

10.1.1 import语句177

10.1.2 from…import语句177

10.1.3 _import_()内置函数178

10.1.4 模块搜索路径sys.path178

10.1.5 dir()内置函数178

10.2 模块的定义179

10.2.1 创建模块179

10.2.2 模块的名称180

10.2.3 按字节编译的.pyc文件181

10.3 包的定义181

10.3.1 包的概念181

10.3.2 创建包182

10.3.3 包的导入和使用182

10.4 命令行参数182

10.4.1 sys.argv与命令行参数182

10.4.2 argparse和命令行选项参数解析183

10.5 终止程序运行时返回消息185

10.6 复习题185

10.7 上机实践186

第11章 迭代器和生成器187

11.1 迭代和可迭代对象187

11.1.1 可迭代对象、迭代器和可迭代协议187

11.1.2 可迭代对象的迭代:iter和next函数188

11.1.3 可迭代对象的迭代:for语句188

11.2 自定义可迭代对象和迭代器189

11.3 生成器函数189

11.4 反向迭代:reversed迭代器190

11.5 生成器表达式191

11.6 Python内置的可迭代对象191

11.6.1 range可迭代对象191

11.6.2 map迭代器和itertools.starmap迭代器191

11.6.3 filter迭代器和itertools.filterfalse迭代器192

11.6.4 zip迭代器和zip_longest迭代器192

11.6.5 enumerate迭代器193

11.7 itertools模块和迭代器函数193

11.7.1 无穷系列迭代器193

11.7.2 累计迭代器accumulate194

11.7.3 级联迭代器chain194

11.7.4 选择压缩迭代器compress194

11.7.5 截取迭代器dropwhile和takewhile194

11.7.6 切片迭代器islice195

11.7.7 迭代器groupby195

11.7.8 返回多个迭代器tee195

11.7.9 组合迭代器combinations、combinations_with_replacement195

11.7.1 0排列迭代器permutations196

11.7.1 1笛卡儿积迭代器product196

11.8 复习题196

11.9 上机实践198

第12章 数据结构和算法200

12.1 ABC模块200

12.1.1 collections.abc模块和抽象基类200

12.1.2 collections.abc模块中的抽象基类200

12.2 collections模块和容器类型202

12.2.1 ChainMap对象202

12.2.2 Counter对象203

12.2.3 deque对象203

12.2.4 defaultdict对象205

12.2.5 OrderedDict对象205

12.2.6 namedtuple对象206

12.2.7 UserDict、UserList和UserString对象207

12.3 array.array对象207

12.3.1 array的定义207

12.3.2 array对象的基本操作208

12.3.3 array对象的方法208

12.4 heapq模块和堆队列算法209

12.4.1 堆(Heap)的基本概念209

12.4.2 堆的基本操作210

12.4.3 heapq模块中基于heap的通用函数210

12.5 bisect模块和二分排序算法211

12.6 复习题211

12.7 上机实践213

第13章 日期和时间处理214

13.1 日期和时间处理概述214

13.1.1 相关模块214

13.1.2 相关术语214

13.2 time模块215

13.2.1 struct time对象215

13.2.2 time模块中的常用函数215

13.2.3 日期格式化字符串216

13.3 datetime模块217

13.3.1 date对象218

13.3.2 tzinfo对象和timezone对象219

13.3.3 time对象220

13.3.4 datetime对象220

13.3.5 timedelta对象222

13.3.6 日期和时间的运算与比较223

13.4 calendar模块223

13.4.1 Calendar对象223

13.4.2 TextCalendar对象和LocaleTextCalendar对象224

13.4.3 HTMLCalendar对象和LocaleHTMLCalendar对象225

13.4.4 calendar模块的属性和常用函数226

13.5 复习题227

13.6 上机实践228

第14章 正则表达式230

14.1 正则表达式语言230

14.1.1 正则表达式语言概述230

14.1.2 正则表达式引擎230

14.1.3 普通字符和转义字符231

14.1.4 字符类和预定义字符类231

14.1.5 边界匹配符232

14.1.6 重复限定符232

14.1.7 匹配算法:贪婪和懒惰233

14.1.8 选择分支234

14.1.9 分组和向后引用234

14.1.10 正则表达式的匹配模式236

14.1.11 常用正则表达式236

14.2 正则表达式模块re236

14.2.1 匹配和搜索函数236

14.2.2 匹配选项237

14.2.3 正则表达式对象237

14.2.4 匹配对象238

14.2.5 匹配和替换238

14.2.6 分割字符串238

14.3 正则表达式应用举例239

14.3.1 字符串包含验证239

14.3.2 字符串查找和拆分239

14.3.3 字符串替换和清除240

14.3.4 字符串查找和截取240

14.4 复习题241

14.5 上机实践242

第15章 多线程编程243

15.1 线程处理概述243

15.1.1 进程和线程243

15.1.2 线程的优缺点243

15.2 创建和启动多线244

15.2.1 使用start_new_thread函数创建线程244

15.2.2 使用Thread对象创建线程244

15.2.3 自定义派生于Thread的对象245

15.2.4 线程加入join()246

15.2.5 用户线程和daemon线程247

15.3 线程同步248

15.3.1 线程同步处理248

15.3.2 基于原语锁(Lock/RLock对象)的简单同步248

15.3.3 基于条件变量(Condition对象)的同步和通信250

15.4 复习题253

15.5 上机实践253

第16章 图形用户界面应用程序254

16.1 图形用户界面概述254

16.1.1 tkinter254

16.1.2 其他GUI库简介254

16.2 tkinter概述255

16.2.1 tkinter模块255

16.2.2 图形用户界面构成255

16.2.3 框架和GUI应用程序类256

16.2.4 tkinter主窗口257

16.3 几何布局管理器257

16.3.1 pack几何布局管理器258

16.3.2 grid几何布局管理器259

16.3.3 place几何布局管理器260

16.4 事件处理261

16.4.1 事件类型261

16.4.2 事件绑定262

16.4.3 事件处理函数263

16.5 组件概述264

16.5.1 创建组件和设置属性264

16.5.2 坐标系265

16.5.3 大小单位(width和height)265

16.5.4 颜色(background、foreground等)265

16.5.5 字体(font)266

16.5.6 停靠位置(anchor)266

16.5.7 光标(cursor)267

16.5.8 显示文本(text、textvariable、wraplength和justify)267

16.5.9 位图(bitmap)267

16.5.10 图像(image)268

16.5.11 同时显示文本和位图/图像(compound)268

16.5.12 3D显示样式(relief和overrelief)269

16.5.13 设置组件的边框(borderwidth)269

16.5.14 设置组件的填充(padx和pady)269

16.5.15 组件的状态(state)269

16.5.16 启用和禁用输入法269

16.5.17 设置字符下划线位置(underline)269

16.5.18 焦点(highlightbackground、highlightcolor等)270

16.5.19 组件的数据绑定(textvariable、variable和listvariable)270

16.5.20 组件id和名称270

16.5.21 组件的通用方法270

16.6 常用组件271

16.6.1 标签Label271

16.6.2 标签框架LabelFrame271

16.6.3 按钮Button272

16.6.4 消息Message273

16.6.5 单行文本框Entry274

16.6.6 多行文本框Text275

16.6.7 单选按钮Radiobutton277

16.6.8 复选框Checkbutton278

16.6.9 列表框Listbox280

16.6.10 选择项OptionMenu282

16.6.11 移动滑块Scale283

16.6.12 顶层窗口Toplevel285

16.6.13 ttk子模块控件286

16.7 对话框286

16.7.1 通用消息对话框286

16.7.2 文件对话框288

16.7.3 颜色选择对话框289

16.7.4 通用对话框应用举例290

16.7.5 简单对话框292

16.8 菜单和工具栏293

16.8.1 菜单组件Menu293

16.8.2 创建主菜单294

16.8.3 创建上下文菜单295

16.8.4 菜单应用举例296

16.9 图形绘制299

16.9.1 Canvas组件299

16.9.2 Canvas上的对象299

16.9.3 绘制矩形301

16.9.4 绘制选项302

16.9.5 绘制椭圆305

16.9.6 绘制圆弧305

16.9.7 绘制线条306

16.9.8 绘制多边形307

16.9.9 绘制位图307

16.9.10 绘制图像308

16.9.11 绘制字符串308

16.9.12 绘制组件309

16.10 复习题310

16.11 上机实践311

第17章 数据库访问313

17.1 数据库基础313

17.1.1 数据库概念313

17.1.2 关系数据库313

17.2 Python数据库访问模块314

17.2.1 通用数据库访问模块314

17.2.2 专用数据库访问模块315

17.2.3 SQLite数据库和sqlite3模块315

17.3 使用sqlite3模块连接和操作SQLite数据库316

17.3.1 访问数据库的典型步骤316

17.3.2 创建数据库和表318

17.3.3 数据库表的插入、更新和删除操作318

17.3.4 数据库表的查询操作319

17.4 复习题319

17.5 上机实践319

第18章 网络编程和通信320

18.1 网络编程的基本概念320

18.1.1 网络基础知识320

18.1.2 TCP/IP协议简介321

18.1.3 IP地址和域名322

18.1.4 统一资源定位器URL322

18.2 基于socket模块的网络编程323

18.2.1 socket概述323

18.2.2 创建socket对象324

18.2.3 将服务器端socket绑定到指定地址上325

18.2.4 服务器端socket开始侦听325

18.2.5 连接和接收连接326

18.2.6 发送和接收数据326

18.2.7 简单TCP程序:Echo Server326

18.2.8 简单UDP程序:Echo Server327

18.2.9 UDP程序:Quote Server329

18.3 基于urllib模块的网络编程330

18.3.1 打开和读取URL网络资源330

18.3.2 创建Request对象330

18.4 基于http模块的网络编程331

18.5 基于ftplib模块的网络编程331

18.5.1 创建FTP对象331

18.5.2 创建FTP_TLS对象333

18.6 基于poplib和smtplib模块的网络编程333

18.6.1 使用poplib接收邮件333

18.6.2 使用smtplib发送邮件334

18.7 复习题335

18.8 上机实践336

第19章 系统管理337

19.1 目录、文件和磁盘的基本操作337

19.1.1 创建目录337

19.1.2 临时目录和文件的创建337

19.1.3 切换当前工作目录338

19.1.4 目录内容列表338

19.1.5 文件通配符和glob.glob函数338

19.1.6 遍历目录和os.walk函数338

19.1.7 判断文件/目录是否存在339

19.1.8 测试文件类型339

19.1.9 文件的日期及其大小339

19.1.10 文件和目录的删除340

19.1.11 文件和目录复制、重命名和移动340

19.1.12 磁盘的基本操作340

19.2 执行操作系统命令和运行其他程序341

19.2.1 os.system函数341

19.2.2 os.popen函数341

19.2.3 subprocess模块341

19.3 获取终端的大小342

19.4 文件压缩和解压缩343

19.4.1 shutil模块支持的压缩和解压缩格式343

19.4.2 make_archive()和文件压缩343

19.4.3 unpack_archive()函数和文件解压缩343

19.5 configparser模块和配置文件344

19.5.1 INI文件及INI文件格式344

19.5.2 ConfigParser对象和INI文件操作344

19.6 复习题346

19.7 上机实践347

附录A 参考答案348

参考文献358

热门推荐