发表于2024-12-21
内容与Python新版本同步。面向Python 3.5.x、Python 3.6.x及更新版本,重点关注内置对象和标准库对象的高级用法以及比较前沿的一些新技术。
语言精练、代码优雅。深入剖析Python编程模式,使用*简练的语言和代码介绍Python高级用法,完美诠释Pythonic的真正含义。
案例丰富、注释量大、实用性强。精选多个领域中的经典案例,几乎每段重要代码都配有大量注释,让读者能够在短时间内理解代码思路和要点,大幅度缩短阅读和学习时间,由浅入深,层层递进,平滑学习曲线。
《Python程序设计开发宝典》共13章,面向Python3.5.x、Python3.6.x和Python3.7.x,重点关注Python内置对象和标准库对象的高级应用以及比较前沿的一些新技术,偶尔涉及一点扩展库用法。第1章介绍Python语言编程规范与代码优化建议、开发环境配置、程序伪编译与打包。第2章详解运算符与内置函数的用法。第3章详解各种序列对象、推导式、切片和序列解包。第4章详解选择结构和循环结构,关键字else、break与continue。第5章详解函数的基本用法,可调用对象与修饰器、函数参数、变量的作用域、生成器函数、lambda表达式、函数柯里化、泛型函数、协程函数和回调函数。第6章详解类的定义、不同类型的成员、依赖注入技术和运算符重载。第7章详解字符串编码与格式化方法、字符串对象方法、文本排版与压缩、汉字拼音有关的技术。第8章详解正则表达式语法、re模块、正则表达式对象与match对象。第9章详解文件对象用法、文件内容操作。第10章详解文件与文件夹操作。第11章详解异常处理结构、文档测试与单元测试、覆盖测试与软件性能测试、代码调试技术。第12章详解不同类型的并行处理技术。第13章详解asyncio提供的网络通信功能。
《Python程序设计开发宝典》不但可以作为Python程序设计教材,还可作为Python开发工程师的指导用书。
董付国 副教授。自2000年参加工作以来,先后讲授过汇编语言、C/C++/C#、Java和Python等多门编程语言,以及计算机组成原理、计算机网络、数据库原理、数据结构、操作系统、计算机安全、网络安全、计算机图形学、数字图像处理、游戏策划等多门课程,多次获得校级优秀教学成果奖一等奖,出版《Python程序设计》、《Python程序设计基础》、《Python程序设计(第2版)》系列教材,开发过多套涉及不同领域的管理系统,在国内外高水平学术期刊与会议上发表论文40余篇,其中近30篇被EI检索。学习工作之余*大的爱好是打太极拳。
目录
第1章管中窥豹: Python概述1
1.1Python是这样一种语言1
1.2Python版本之争1
1.3Python编程规范与代码优化建议2
1.4Python虚拟开发环境的搭建4
1.5Eclipse+PyDev环境搭建和使用4
1.6安装扩展库的几种方法6
1.7标准库与扩展库中对象的导入与使用7
1.7.1import 模块名 [as 别名]8
1.7.2from模块名import对象名[as别名]8
1.7.3from 模块名 import��9
1.7.4模块导入时的搜索路径10
1.8编写与发布自己的包10
1.9Python程序伪编译与打包12
1.10从命令行参数和配置文件获取信息14
第2章万丈高楼平地起: 运算符、表达式与内置对象16
2.1Python常用内置对象16
2.1.1常量与变量17
2.1.2数字18
2.1.3字符串21
2.1.4列表、元组、字典、集合22
2.2Python运算符与表达式23
2.2.1算术运算符24
2.2.2关系运算符25
2.2.3成员测试运算符in与同一性测试运算符is26
2.2.4位运算符与集合运算符27
2.2.5逻辑运算符28
2.2.6矩阵乘法运算符@29〖1〗〖2〗Python程序设计开发宝典〖1〗目录〖2〗2.2.7补充说明29
2.3Python关键字简要说明30
2.4Python常用内置函数用法精要31
2.4.1类型转换与类型判断34
2.4.2最值与求和38
2.4.3基本输入输出40
2.4.4排序与逆序42
2.4.5枚举与迭代43
2.4.6map()、reduce()、filter()45
2.4.7range()48
2.4.8zip()48
2.4.9eval()、exec()49
第3章玄之又玄,众妙之门: 详解Python序列结构51
3.1列表: 打了激素的数组51
3.1.1列表创建与删除52
3.1.2列表元素访问53
3.1.3列表常用方法54
3.1.4列表对象支持的运算符59
3.1.5内置函数对列表的操作61
3.1.6使用列表模拟向量运算62
3.1.7列表推导式语法与应用案例63
3.1.8切片操作的强大功能70
3.2元组: 轻量级列表73
3.2.1元组创建与元素访问73
3.2.2元组与列表的异同点74
3.2.3生成器推导式75
3.3字典: 反映对应关系的映射类型76
3.3.1字典创建与删除77
3.3.2字典元素的访问77
3.3.3元素的添加、修改与删除79
3.3.4标准库collections中与字典有关的类80
3.4集合: 元素之间不允许重复81
3.4.1集合对象的创建与删除81
3.4.2集合操作与运算82
3.4.3不可变集合frozenset84
3.4.4集合应用案例84
3.5序列解包的多种形式和用法86
3.6标准库中的其他常用数据类型88
3.6.1枚举类型88
3.6.2数组类型89
3.6.3队列90
3.6.4具名元组92
3.6.5堆92
第4章反者,道之动: 程序控制结构94
4.1条件表达式94
4.2选择结构96
4.2.1单分支选择结构96
4.2.2双分支选择结构97
4.2.3多分支选择结构98
4.2.4选择结构的嵌套99
4.2.5构建跳转表实现多分支选择结构100
4.3循环结构100
4.3.1for循环与while循环100
4.3.2break与continue语句101
4.3.3循环代码优化技巧102
4.4精彩案例赏析103
第5章代码复用技术(一): 函数111
5.1函数定义与使用111
5.1.1基本语法111
5.1.2函数嵌套定义、可调用对象与修饰器113
5.1.3函数对象成员的动态性117
5.1.4函数递归调用117
5.2函数参数118
5.2.1位置参数120
5.2.2默认值参数120
5.2.3关键参数122
5.2.4可变长度参数122
5.2.5强制函数的某些参数必须以关键参数形式进行传值123
5.2.6强制函数的所有参数必须以位置参数形式进行传值124
5.2.7传递参数时的序列解包125
5.2.8标注函数参数与返回值类型126
5.3变量作用域127
5.3.1全局变量与局部变量127
5.3.2nonlocal变量130
5.4lambda表达式130
5.5生成器函数设计要点133
5.6偏函数与函数柯里化135
5.7单分发器与泛型函数136
5.8协程函数138
5.9注册程序退出时必须执行的函数140
5.10回调函数原理与实现140
5.11精彩案例赏析141
第6章代码复用技术(二): 面向对象程序设计167
6.1类的定义与使用167
6.1.1基本语法167
6.1.2type类168
6.1.3定义带修饰器的类169
6.2数据成员与成员方法171
6.2.1私有成员与公有成员171
6.2.2数据成员172
6.2.3成员方法、类方法、静态方法、抽象方法173
6.2.4属性175
6.2.5类与对象的动态性、混入机制177
6.3继承、多态、依赖注入179
6.3.1继承179
6.3.2多态181
6.3.3依赖注入技术的不同实现方法182
6.4特殊方法与运算符重载185
6.5精彩案例赏析187
6.5.1自定义队列187
6.5.2自定义栈191
6.5.3自定义集合193
6.5.4自定义数组199
6.5.5自定义双链表204
6.5.6自定义常量类206
6.5.7自定义不允许修改值的字典207
6.5.8自定义支持with关键字的类208
第7章文本处理(一): 字符串209
7.1字符串编码格式简介210
7.2转义字符与原始字符串211
7.3字符串格式化212
7.3.1使用%符号进行格式化212
7.3.2使用format()方法进行字符串格式化213
7.3.3格式化的字符串常量215
7.3.4使用Template模板进行格式化215
7.4字符串常用操作216
7.4.1find()、rfind()、index()、rindex()、count()216
7.4.2split()、rsplit()、partition()、rpartition()217
7.4.3join()219
7.4.4lower()、upper()、capitalize()、title()、swapcase()220
7.4.5replace()、maketrans()、translate()220
7.4.6strip()、rstrip()、lstrip()221
7.4.7startswith()、endswith()222
7.4.8isalnum()、isalpha()、isdigit()、isdecimal()、isnumeric()、
isspace()、isupper()、islower()222
7.4.9center()、ljust()、rjust()、zfill()223
7.4.10字符串对象支持的运算符224
7.4.11适用于字符串对象的内置函数226
7.4.12字符串对象的切片操作228
7.5其他有关模块228
7.5.1textwrap模块228
7.5.2zlib模块提供的压缩功能231
7.6字符串常量232
7.7可变字符串232
7.8中英文分词234
7.9汉字到拼音的转换235
7.10精彩案例赏析236
第8章文本处理(二): 正则表达式239
8.1正则表达式语法239
8.1.1正则表达式基本语法239
8.1.2正则表达式扩展语法240
8.1.3正则表达式锦集241
8.2直接使用正则表达式模块re处理字符串242
8.3使用正则表达式对象处理字符串246
8.4match对象248
8.5精彩案例赏析250
第9章数据永久化: 文件内容操作257
9.1文件操作基本知识258
9.1.1内置函数open()258
9.1.2文件对象属性与常用方法260
9.1.3上下文管理语句with261
9.2文本文件内容操作案例精选261
9.3二进制文件操作案例精选266
9.3.1使用pickle模块读写二进制文件267
9.3.2使用struct模块读写二进制文件268
9.3.3使用shelve模块操作二进制文件269
9.3.4使用marshal模块操作二进制文件270
9.3.5其他常见类型二进制文件操作案例271
第10章文件与文件夹操作281
10.1os模块281
10.2os.path模块284
10.3shutil模块286
10.4其他常用模块287
10.4.1glob模块287
10.4.2fnmatch模块288
10.5精彩案例赏析289
第11章代码质量保障: 异常处理结构、程序调试与测试293
11.1异常处理结构293
11.1.1异常的概念与表现形式293
11.1.2Python内置异常类层次结构294
11.1.3异常处理结构296
11.1.4断言与上下文管理语句301
11.2文档测试doctest301
11.3单元测试unittest304
11.4覆盖测试307
11.5软件性能测试308
11.6代码调试310
11.6.1使用IDLE调试310
11.6.2使用Eclipse+PyDev进行代码调试311
11.6.3使用pdb调试313
第12章多任务与并行处理: 线程、进程、协程、分布式、GPU加速318
12.1多线程编程318
12.1.1线程概念与标准库threading318
12.1.2线程对象320
12.1.3线程调度323
12.1.4Lock/RLock对象324
12.1.5Condition对象326
12.1.6Queue对象328
12.1.7Event对象332
12.1.8Semaphore与BoundedSemaphore333
12.1.9Barrier对象334
12.2多进程编程335
12.2.1进程创建与管理335
12.2.2进程同步技术336
12.2.3Pool对象337
12.2.4Manager对象341
12.2.5Listener与Client对象345
12.2.6进程间数据交换与共享345
12.2.7标准库subprocess348
12.3协程349
12.4concurrent.futures模块提供的并发执行功能351
12.5pySpark并行计算与分布式计算框架353
12.6GPU编程359
12.6.1使用pycuda实现GPU加速359
12.6.2使用pyopencl实现GPU加速360
12.6.3使用tensorflow实现GPU加速362
第13章互通互联: asyncio提供的网络通信功能364
13.1Transport类与Protocol类364
13.2StreamReader与StreamWriter369
附录精彩在继续373
附录AGUI开发373
附录BSQLite数据库操作376
附录C计算机图形学编程377
附录D图像编程380
附录E数据分析、机器学习、科学计算可视化383
附录F密码学编程383
附录G系统运维384
附录HWindows系统编程384
附录I软件分析与逆向工程386
参考文献388
前言
作者第一次接触Python大概是在2002年,在几个著名的安全网站上看到有人用这个语言,当时的作者正痴迷于C语言和汇编语言,内心不屑于学习这种脚本语言。2010年的时候因为要用IDAPro分析一个PE文件而不得不借助于IDAPython插件,才真正感觉到了Python的方便与强大,于是购买了很多书籍并且阅读了大量在线文档开始系统地学习Python。2013年学校组织各专业教研室修订新版人才培养方案时,经过慎重考虑并且与其他几位老师进行了多次沟通,最终确定为数字媒体技术专业和服务外包专业增加了“Python程序设计”这门课程。然而,虽然当时市面上已经有了一些Python书籍,但是适合作为教材的却寥寥无几,有的过于专注某个专业领域,有的则是泛泛地介绍一点皮毛,并且很多书里放置的插图占用了大量篇幅,知识密度很小,不是作者喜欢的风格。在翻看了超过20本Python图书以后,作者决定动手写一本适合作教材的书,于是就有了面向计算机及相关专业的《Python程序设计》(书号为9787302407232,2015年8月出版)和面向非计算机专业的《Python程序设计基础》(书号为9787302410584,2015年8月出版,2016年3月第2次印刷,2017年1月第3次印刷),前者主要介绍Python2.7.x的基本语法以及在各领域的应用,后者主要介绍Python3.4.x的基本语法而没有涉及太多的应用。本来当时写这两本书的目的仅仅是为了自己上课用起来方便,然而出版不到一年就被近30所院校选作教材,还有几十所院校的图书馆也采购了这两本书供学生借阅,反响非常好。应广大读者和用书老师的要求,也为了紧跟Python飞速发展的步伐,作者于2016年6月又出版了《Python程序设计(第2版)》(书号为9787302436515),这本书使用Python3.5.x重写了第1版中的所有案例,并且新增案例近百个,出版后迅速被多所院校选作教材,各大网上书店也频频缺货,2016年11月初进行了第2次印刷,2017年3月进行了第3次印刷。考虑到更多的Python爱好者并没有听老师讲课的机会,看教材自学可能比较吃力,作者于2017年1月份出版了《Python可以这样学》(书号为9787302456469),全书500多页,使用生动活泼的语言讲解Python3.5.x的知识和应用(绝大部分内容也适用于Python3.6.x和Python3.7.x),在《Python程序设计(第2版)》的基础上删掉了“软件分析与逆向工程”和“安卓平台的Python编程”内容,新增了大量案例,并且融入了道德经、周易、太极拳理论中的核心思想以及大量中外名人名言,通过小提示、小技巧、注意、拓展知识等多种形式扩充了大量知识,尤其适合Python爱好者自学,也可作为进阶工具书进行查阅。该书出版之后迅速得到社会各界人士的一致认可,第一批印刷的书很快被抢购一空,不到两个月就进行了第二次印刷。回头想想,自己二十年如一日地每天熬夜看书学习写代码还是值得的。〖1〗〖2〗Python程序设计开发宝典〖1〗前言〖2〗当2016年6月份作者前几本Python系列图书的责任编辑白立军老师约作者再编写一本面向高级程序员的Python图书时,说实话,内心是喜悦的,很高兴自己的努力得到广大Python爱好者的认可。但同时作者内心也有些担心,感觉在写前4本书时已经用完了自己的洪荒之力。在这本新书里再写点什么好呢?内容该如何组织呢?如何避免过多地重复利用前几本书里的案例呢?反复思考了近2个月,考虑目前很多Python程序员的现状:喜欢直接使用各种扩展库来解决问题,不重视对Python语言本身的理解,内功不够深厚,导致很多代码粗制滥造。最终作者做出决定,在这本新书里,不再介绍太多扩展库的应用,而是把重点放在Python语法和内置对象、标准库对象的高级应用上,注重Python的内涵,注重内功的修炼,尽量往纵深发展,争取用最简练的语言介绍那些作者认为比较高级的用法。在编写过程中,尽量减少与前几本书中内容的重复,补充大量新案例和高级用法。当然,前面几本书里的有些案例在这本书里又出现了,但是仔细的读者应该能发现,很多案例代码都进行了必要的改写和优化,更加Pythonnic,更加优雅和高效。自从答应了写这本书之后,作者在不影响正常教学和科研工作的情况下每天拿 Python程序设计开发宝典 下载 mobi epub pdf txt 电子书 格式
Python程序设计开发宝典 下载 mobi pdf epub txt 电子书 格式 2024
Python程序设计开发宝典 下载 mobi epub pdf 电子书还没看
评分经济实惠!经济实惠!经济实惠!经济实惠!
评分一直习惯给五星。
评分没有想象中那么好,等看完了再说了
评分还没来得及看,搭配起来应该还不错。
评分一直在京东购书~速度快~态度好
评分很实用的一本书,值得初学者使用
评分还没看
评分我为什么喜欢在京东买东西,因为今天买明天就可以送到。京东购物这么久,大多都是满意的。
Python程序设计开发宝典 mobi epub pdf txt 电子书 格式下载 2024