编辑推荐
在本书中,一流的Python程序员Mark Summerfield展示了如何充分利用Python 3的功能与特性来编写代码。与以前的版本相比。Python 3功能更强大,使用更方便,语法更一致,表达能力更丰富。本书将编写程序、使用标准或第三方Python 3库、创建新的专用库模块所必需的所有相关知识整合到了一起。
作为一名具有多年Python使用经验的程序员,Summerfield在本书中为读者深度分析与讲解了从其他途径无法获取的Python3使用与开发技术。Summerfield从Python的“优美核心(beautiful heart)”(即编写高健壮性、高性能程序的8个关键要素)开始进行讲解,并以这些关键要素为基础,介绍了有助于增强程序开发实用技能的新主题,每个主题都包含其概念和多个操作实例。
本书既可以作为Python编程指南,也可以作为Python语言参考手册。
内容简介
Python是一种脚本语言,在各个领域得到了日益广泛的应用。本书全面深入地对Python语言进行了讲解。
本书首先讲述了构成Python语言的8个关键要素,之后分章节对其进行了详尽的阐述,包括数据类型、控制结构与函数、模块、文件处理、调试、进程与线程、网络、数据库、正则表达式、GUI程序设计等各个方面,并介绍了其他一些相关主题。全书内容以实例讲解为主线,每章后面附有练习题,便于读者更好地理解和掌握所讲述的内容。
本书适合于作为Python语言教科书使用,对Python程序设计人员也有一定的参考价值。
第1章 过程型程序设计快速入门 1
1.1 创建并运行python程序 1
1.2 python的关键要素 5
1.2.1 要素#1:数据类型 6
1.2.2 要素#2:对象引用 7
1.2.3 要素#3:组合数据类型 9
1.2.4 元素#4:逻辑操作符 12
1.2.5 要素#5:控制流语句 16
1.2.6 要素#6:算术操作符 20
1.2.7 要素#7:输入/输出 23
1.2.8 要素#8:函数的创建与调用 25
1.3 实例 27
1.3.1 bigdigits.py 28
1.3.2 generate_grid.py 30
1.4 总结 33
1.5 练习 35
第2章 数据类型 38
2.1 标识符与关键字 38
2.2 integral类型 41
2.2.1 整数 41
.2.2.2 布尔型 44
2.3 浮点类型 44
2.3.1 浮点数 45
2.3.2 复数 48
2.3.3 十进制数字 49
2.4 字符串 50
2.4.1 比较字符串 53
2.4.2 字符串分片与步距 54
2.4.3 字符串操作符与方法 56
2.4.4 使用str.format()方法进行字符串格式化 62
2.4.5 字符编码 73
2.5 实例 75
2.5.1 quadratic.py 75
2.5.2 csv2html.py 78
2.6 总结 82
2.7 练习 84
第3章 组合数据类型 86
3.1 序列类型 86
3.1.1 元组 87
3.1.2 命名的元组 89
3.1.3 列表 91
3.1.4 列表内涵 96
3.2 集合类型 98
3.2.1 集合 98
3.2.2 集合内涵 102
3.2.3 固定集合 102
3.3 映射类型 103
3.3.1 字典 103
3.3.2 字典内涵 110
3.3.3 默认字典 111
3.4 组合数据类型的迭代与复制 113
3.4.1 迭代子、迭代操作与函数 113
3.4.2 组合类型的复制 121
3.5 实例 123
3.5.1 generate_usernames.py 123
3.5.2 statistics.py 126
3.6 总结 130
3.7 练习 131
第4章 控制结构与函数 133
4.1 控制结构 133
4.1.1 条件分支 133
4.1.2 循环 135
4.2 异常处理 136
4.2.1 捕获与产生异常 136
4.2.2 自定义异常 141
4.3 自定义函数 144
4.3.1 名称与docstrings 148
4.3.2 参数与参数拆分 149
4.3.3 存取全局范围的变量 152
4.3.4 lambda函数 153
4.3.5 断言 155
4.4 实例:make_html_skeleton.py 156
4.5 总结 162
4.6 练习 162
第5章 模块 165
5.1 模块与包 165
5.1.1 包 169
5.1.2 自定义模块 171
5.2 python标准库概览 181
5.2.1 字符串处理 181
5.2.2 io.stringio类 182
5.2.3 命令行程序设计 183
5.2.4 数学与数字 184
5.2.5 时间与日期 184
5.2.6 实例:calendar、datetime与time模块 185
5.2.7 算法与组合数据类型 185
5.2.8 文件格式、编码与数据持久性 187
5.2.9 文件、目录与进程处理 190
5.2.10 网络与internet程序设计 192
5.2.11 xml 193
5.2.12 其他模块 195
5.3 总结 196
5.4 练习 198
第6章 面向对象程序设计 200
6.1 面向对象方法 200
6.2 自定义类 204
6.2.1 属性与方法 205
6.2.2 继承与多态 209
6.2.3 使用特性进行属性存取控制 211
6.2.4 创建完全整合的数据类型 213
6.3 自定义组合类 225
6.3.1 创建聚集组合数据的类 225
6.3.2 使用聚集创建组合类 231
6.3.3 使用继承创建组合类 237
6.4 总结 244
6.5 练习 245
第7章 文件处理 247
7.1 二进制数据的读写 251
7.1.1 带可选压缩的pickle 252
7.1.2 带可选压缩的原始二进制数据 256
7.2 文本文件的写入与分析 263
7.2.1 写入文本 263
7.2.2 分析文本 265
7.2.3 使用正则表达式分析文本 268
7.3 写入与分析xml文件 270
7.3.1 元素树 270
7.3.2 dom 274
7.3.3 手动写入xml 277
7.3.4 使用sax分析xml 278
7.4 随机存取二进制文件 281
7.4.1 通用的binaryrecordfile类 281
7.4.2 实例:bikestock模块的类 289
7.5 总结 292
7.6 练习 293
第8章 高级程序设计技术 295
8.1 过程型程序设计进阶 296
8.1.1 使用字典进行分支 296
8.1.2 生成器表达式与函数 297
8.1.3 动态代码执行与动态导入 300
8.1.4 局部函数与递归函数 306
8.1.5 函数与方法修饰器 311
8.1.6 函数注释 314
8.2 面向对象程序设计进阶 317
8.2.1 控制属性存取 317
8.2.2 函子 320
8.2.3 上下文管理器 322
8.2.4 描述符 325
8.2.5 类修饰器 330
8.2.6 抽象基类 333
8.2.7 多继承 340
8.2.8 元类 342
8.3 函数型程序设计 346
8.3.1 偏函数 348
8.3.2 协程 349
8.4 实例:valid.py 356
8.5 总结 359
8.6 练习 360
第9章 调试、测试与profiling 361
9.1 调试 361
9.1.1 处理语法错误 362
9.1.2 处理运行时错误 363
9.1.3 科学的调试 367
9.2 单元测试 371
9.3 profiling 377
9.4 小结 382
第10章 进程与线程 383
10.1 使用多进程模块 384
10.2 将工作分布到多个线程 388
10.2.1 实例:线程化的单词寻找程序 389
10.2.2 实例:一个线程化的重复文件发现程序 392
10.3 总结 396
10.4 练习 397
第11章 网络 399
11.1 创建tcp客户端 400
11.2 创建tcp服务器 406
11.3 总结 412
11.4 练习 412
第12章 数据库程序设计 414
12.1 dbm数据库 414
12.2 sql数据库 418
12.3 总结 425
12.4 练习 425
第13章 正则表达式 427
13.1 python的正则表达式语言 428
13.1.1 字符与字符类 428
13.1.2 量词 429
13.1.3 组与捕获 431
13.1.4 断言与标记 433
13.2 正则表达式模块 436
13.3 总结 444
13.4 练习 445
第14章 分析简介 446
14.1 bnf语法与分析的术语 447
14.2 手动编写分析器 451
14.2.1 简单的键-值数据分析 451
14.2.2 播放列表数据分析 454
14.2.3 blocks域特定语言的分析 456
14.3 使用pyparsing进行更python化的分析 464
14.3.1 pyparsing快速介绍 465
14.3.2 简单的键-值数据分析 468
14.3.3 播放列表数据分析 470
14.3.4 分析块域特定语言 471
14.3.5 分析一阶逻辑 476
14.4 使用ply进行lex/yacc风格的分析 481
14.4.1 简单的键-值数据分析 483
14.4.2 播放列表数据分析 485
14.4.3 分析块域特定语言 487
14.4.4 分析一阶逻辑 489
14.5 小结 493
14.6 练习 494
第15章 gui程序设计介绍 496
15.1 对话框风格的程序 499
15.2 主窗口风格的程序 504
15.2.1 创建一个主窗口 504
15.2.2 创建自定义对话框 514
15.3 总结 517
15.4 练习 518
《从展场到展览》内容简介:本书通过分析与解读以上海为代表性的艺术博物馆(上海博物馆、龙美术馆、K11艺术中心、上海当代艺术馆等
《C++并发编程实战(第2版)》内容简介:这是一本介绍C++并发和多线程编程的深度指南。本书从C++标准程序库的各种工具讲起,介绍线
以用户为中心的时代,应用的界面外观变得越来越重要。然而,很多程序员都缺乏美术功底,要开发出界面美观的应用实属不易。ExtJS的
汇编语言程序设计-第2版 本书特色 《汇编语言程序设计(第2版)》以Intel 80x86 CPU的指令系统为介绍对象,以并行推进的方式来介绍其16位和32位C...
《国际平面设计基础教程:GRIDS网格设计》的目的是向读者介绍平面设计中网格的基本运用原则,就像当代设计师们所实践的那样。虽然
《微聊环保》内容简介:媒体是敌人?是对手?是非敌非友?还是合作伙伴?“从来不接受采访,不和媒体打交道”是一种荣耀吗?敏感问
《Java多线程编程核心技术(第3版)》内容简介:现代软件规模大、实时性要求高,所以掌握提升处理和响应速度的多线程技术势在必行。
《景观设计手绘实例精讲》内容简介:本书精心编排了96个景观手绘实例,详细、全面地介绍了景观手绘各方面的知识。书中案例涉及材质
《书当快意》内容简介:从《西游记》札记中的“多心”之辨到《水浒传》中的“品人录”,从漫谈《红楼》到体悟苏轼,二十九篇读书随
本书通过城市设计的思想、理论、研究和实践,以无与伦比的广度系统展开,帮助读者通过一个个逐步推进的概念形成城市设计的全面视
《哲学的中国本土化叙事》内容简介:《哲学的中国本土化叙事》怀着一种积极而开放的情怀探索并追寻本土化的“中国哲学”。“中国哲
《成人教育服务乡村振兴的实践研究》内容简介:本书旨在对国家乡村振兴战略文件深度解读的基础上,调研并提炼近年来宁波市成人教育
IDAPro(交互式反汇编器专业版)是应用最广泛的静态反汇编工具,在IT领域有着举足轻重的地位,但其文档资料一直都不够完善,在ID
《JSP设计》(第3版)自1999处JSP1.0发布以来,JavaServerPages(JSP)可谓掀起了一场风暴,其追随者蜂拥而至。JSP为企业Java开发...
《现代物流管理(第三版)》内容简介:本书是高职高专规划教材《现代物流管理》的第三版,内容包括:现代物流与物流管理,企业物流
Computerscienceasanengineeringdisciplinehasbeenspectacularlysuccessful.Yetitisal...
《理财中的经济学》内容简介:每个人的生活都离不开金钱,管理金钱即理财。掌握好理财的技能,对于提高个人与家庭的生活质量大有帮
本书用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。
本书特别针对广大Web开发人员,以通俗易懂的方式介绍了GIS(地理信息系统,GeographicInformationSystems)在Web应用中的开发技术
《我国企业科技人才吸引力研究》内容简介:本书综合运用技术经济学、企业管理学等学科的相关理论,围绕企业吸引和集聚高层次科技人