发表于2024-12-13
Python程序设计教程 pdf epub mobi txt 电子书 下载
《Python程序设计教程》是作者在Python教学中针对学生学习时遇到的概念、应用实战等问题的经验总结。
基于Python 3.5编写,涵盖Python 3.0到3.5的实用特性。
从Python标准函数库的源码分析与探讨,了解标准函数库中各种语法的应用。
涵盖abc、collection.abc、datetime、pdb、unittest、timeit、threading、subprocess multiprocessing等标准函数库的实用模块。
对于描述器、装饰器、meta类的实践等进阶主题进行详细探讨,并以标准函数库中@staticmethod、@abstractmethod等功能的模仿作为实际应用的对象。
特以Lab图标标注了重点范例,以便掌握学习重点。
《Python程序设计教程》是作者在Python教学中学生在课程上遇到的概念、实战、应用等问题的经验总结。
本书基于Python 3.5编写,介绍了Python 3.0到3.5的实用特性。本书用简短精巧的范例程序贯穿全书,以学习笔记的写作方式进行编写,让读者在Python语言的交互环境中直接动手实战和体验,通过“实战”来掌握Python语言的核心知识和实战用法,并且特意标注了常用范例和重点范例,让读者可以根据自己的时间安排进行取舍。
本书既适合初学者学习,又能帮助有一定基础的程序员提升技能,还可作为相关培训的教材。
林信良,专业程序设计师,专长于程序语言、框架等。技术文件涵盖C/C++、Java、Ruby/Rails、Python、JavaScript、Haskell、OpenSCAD等领域。
第1章 Python起步走 1
1.1 认识Python 2
1.1.1 Python 3的诞生 2
1.1.2 从Python 3.0到3.5 3
1.1.3 初识Python的社区资源 5
1.2 建立Python环境 6
1.2.1 Python的实现 6
1.2.2 下载与安装Python 3.5 8
1.2.3 认识安装的内容 10
1.3 重点复习 12
第2章 从REPL到IDE 14
2.1 从 'Hello World' 开始 15
2.1.1 使用REPL 15
2.1.2 编写Python源码 18
2.1.3 哈啰!世界! 20
2.2 初识模块与软件包 23
2.2.1 模块简介 23
2.2.2 设置PYTHONPATH 25
2.2.3 使用软件包管理模块 27
2.2.4 使用import as与from import 28
2.3 使用IDE 29
2.3.1 下载、安装PyCharm 29
2.3.2 IDE项目管理基础 31
2.4 重点复习 35
第3章 类型与运算符 36
3.1 内建类型 37
3.1.1 数值类型 37
3.1.2 字符串类型 39
3.1.3 群集类型 45
3.2 变量与运算符 50
3.2.1 变量 50
3.2.2 加减乘除运算 52
3.2.3 比较与赋值运算 56
3.2.4 逻辑运算 57
3.2.5 位运算 58
3.2.6 索引切片运算 60
3.3 重点复习 62
课后练习 64
第4章 流程语句与函数 65
4.1 流程语句 66
4.1.1 if分支判断 66
4.1.2 while循环 68
4.1.3 for in迭代 70
4.1.4 pass、break、continue 72
4.1.5 for Comprehension 72
4.2 定义函数 74
4.2.1 使用def定义函数 75
4.2.2 参数与自变量 76
4.2.3 一级函数的运用 79
4.2.4 lambda表达式 83
4.2.5 初探变量作用域 84
4.2.6 yield与yield from 87
4.3 重点复习 90
课后练习 91
第5章 从模块到类 93
5.1 模块管理 94
5.1.1 用模块建立抽象层 94
5.1.2 管理模块名称 96
5.1.3 设置PTH文件 99
5.2 初识面向对象 101
5.2.1 定义类 101
5.2.2 定义方法 102
5.2.3 定义内部属性 105
5.2.4 定义外部属性 106
5.3 类语法的细节 108
5.3.1 绑定与未绑定方法 108
5.3.2 静态方法与类方法 110
5.3.3 属性命名空间 111
5.3.4 定义运算符 114
5.3.5 __new__()、__init__()与__del__() 116
5.4 重点复习 118
课后练习 120
第6章 类的继承 121
6.1 何谓继承 122
6.1.1 继承共同行为 122
6.1.2 鸭子类型 124
6.1.3 重新定义方法 125
6.1.4 定义抽象方法 126
6.2 继承语法的细节 128
6.2.1 初识object与super() 128
6.2.2 Rich comparison方法 130
6.2.3 使用enum枚举 132
6.2.4 多重继承 134
6.2.5 创建ABC(抽象基类) 136
6.2.6 探讨super() 138
6.3 文档与软件包资源 141
6.3.1 DocStrings 142
6.3.2 查询官方文档 145
6.3.3 PyPI与pip 146
6.4 重点复习 147
课后练习 148
第7章 例外处理 149
7.1 语法与继承结构 150
7.1.1 使用try、except 150
7.1.2 例外继承结构 153
7.1.3 引发(raise)例外 155
7.1.4 Python例外风格 159
7.1.5 认识堆栈追踪 160
7.1.6 提出警告信息 163
7.2 例外与资源管理 165
7.2.1 使用else、finally 165
7.2.2 使用with as 167
7.2.3 实现上下文管理器 169
7.3 重点复习 172
课后练习 173
第8章 open()与io模块 175
8.1 使用open()函数 176
8.1.1 file与mode参数 176
8.1.2 buffering、encoding、errors、newlines参数 180
8.1.3 stdin、stdout、stderr 181
8.2 高级文件处理 183
8.2.1 认识文件描述符 183
8.2.2 认识io模块 185
8.3 重点复习 188
课后练习 189
第9章 数据结构 190
9.1 hashable、iterable与orderable 191
9.1.1 hashable协议 191
9.1.2 iterable协议 193
9.1.3 orderable协议 196
9.2 高级群集处理 199
9.2.1 认识群集结构 199
9.2.2 使用collection模块 201
9.2.3 __getitem__()、__setitem__()、__delitem__() 208
9.2.4 使用collection.abc模块 209
9.2.5 UserList、UserDict、UserString类 211
9.3 重点复习 211
课后练习 213
第10章 数据持续性与交换 214
10.1 对象序列化 215
10.1.1 使用 pickle 模块 215
10.1.2 使用 shelve 模块 217
10.2 数据库的处理 219
10.2.1 认识 DB-API 2.0 219
10.2.2 使用sqlite3模块 220
10.2.3 参数化 SQL 语句 222
10.2.4 简介交易 223
10.3 数据交换格式 227
10.3.1 CSV 227
10.3.2 JSON 231
10.3.3 XML 235
10.4 重点复习 239
课后练习 240
第11章 常用内建模块 241
11.1 日期与时间 242
11.1.1 时间的度量 242
11.1.2 年历与时区简介 243
11.1.3 使用time模块 245
11.1.4 使用datetime模块 247
11.2 日志 251
11.2.1 简介Logger 251
11.2.2 使用Handler、Formatter与Filter 253
11.2.3 使用logging.config 255
11.3 正则表达式 258
11.3.1 正则表达式简介 258
11.3.2 Pattern与Match对象 263
11.4 文件与目录 266
11.4.1 使用os模块 266
11.4.2 使用os.path模块 268
11.4.3 使用glob模块 270
11.5 重点复习 272
课后练习 273
第12章 调试、测试与性能 274
12.1 调试 275
12.1.1 认识Debugger 275
12.1.2 使用pdb模块 277
12.2 测试 281
12.2.1 使用assert断言 281
12.2.2 编写doctest 283
12.2.3 使用unittest单元测试 286
12.3 性能 288
12.3.1 timeit模块 288
12.3.2 使用cProfile(profile) 290
12.4 重点复习 292
课后练习 293
第13章 并发与并行 294
13.1 并发 295
13.1.1 线程简介 295
13.1.2 线程的启动与停止 297
13.1.3 竞争、锁定、死锁 300
13.1.4 等待与通知 303
13.2 并行 307
13.2.1 使用subprocess模块 307
13.2.2 使用multiprocessing模块 309
13.3 重点复习 312
课后练习 313
第14章 高级主题 314
14.1 属性控制 315
14.1.1 描述器 315
14.1.2 定义__slots__ 318
14.1.3 __getattribute__()、__getattr__()、__setattr__()、__delattr__() 320
14.2 装饰器 321
14.2.1 函数装饰器 321
14.2.2 类装饰器 324
14.2.3 方法装饰器 327
14.3 Meta类 328
14.3.1 认识type类 328
14.3.2 指定metaclass 330
14.3.3 __abstractmethods__ 332
14.4 相对导入 333
14.5 重点复习 335
课后练习 336
附录A venv 337
附录B Django简介 339
序
你会不会做实验呢?
当然,对于程序设计来说,懂得做实验是件很重要的事。看到一个函数特性,编写个范例程序来实验看看;不懂某条语句及其语法的概念,编写个程序片段来实验看看,虽然这不是在做化学实验或物理实验,不过有时也会想实验看看,程序会不会像化学实验那样“炸”了……
关掉计算机之后,你会不会做实验呢?
愿意从事程序设计的人,按理来说,应该也是乐于做实验的人,那么现在就做个实验吧!关掉计算机、离开桌子,想想除了用计算机之外,还能在生活上做些什么实验?或者尝试看看其他事物,看看会有什么样的结果。
有没有对自己的人生做过实验呢?
这和计算机上做实验不同,对人生做实验需要耐心,没有人能保证何时能有结果,有时人生中看似毫不相关,甚至是失败的几个实验,却在某个时间点获得莫名其妙的成果。
有没有特意对未来的人生进行实验呢?
你回想起过去曾经有过的几次实验,也许算不上实验,只是在随波逐流的过程中,多少尝试过做些努力,若在无意识下曾经对人生做过的实验促成了现在的你,那么现在下意识地对人生做些实验,未来的自己会是什么样子呢?
程序设计很强调Get your hands dirty(要勤写代码),别忘了,人生也需要Get your hands dirty(亲力亲为)!
编 者
2016年9月
966525886633255777777888888555
评分啦咯啦咯啦咯啦咯啦咯啦咯啦咯啦咯
评分正在慢慢看,慢慢学,书本质量还好。
评分此用户未填写评价内容
评分红红火火恍恍惚惚呵呵哈哈哈哈哈哈哈
评分书还可以,不过没有现成的范例代码什么的,发邮件提示去网站下,结果如图……
评分书还可以 正在啃着!!!
评分活动时候买的,书包装都很不错,留着慢慢看!
评分书还可以,不过没有现成的范例代码什么的,发邮件提示去网站下,结果如图……
Python程序设计教程 pdf epub mobi txt 电子书 下载