新書推薦:
《
云中记
》
售價:NT$
347.0
《
中国古代妇女生活(中国古代生活丛书)
》
售價:NT$
214.0
《
你的认知正在阻碍你
》
售價:NT$
296.0
《
我们身边的小鸟朋友:手绘观鸟笔记
》
售價:NT$
356.0
《
拯救免疫失衡
》
售價:NT$
254.0
《
收尸人
》
售價:NT$
332.0
《
大模型应用开发:RAG入门与实战
》
售價:NT$
407.0
《
不挨饿快速瘦的减脂餐
》
售價:NT$
305.0
|
編輯推薦: |
本书是清华大学畅销书,被100多所院校选作教材;本书配套资源丰富,有课件、教学大纲、教学计划、源代码、试题库和在线测试软件等。
|
內容簡介: |
全书共13章:第1章介绍Python基本知识与概念,Python开发环境配置与使用,扩展库安装与 使用;第2章讲解运算符与表达式以及内置函数的用法;第3章讲解列表、元组、字典、集合的常用 方法和操作;第4章讲解选择结构与循环结构的语法和应用;第5章讲解函数的定义与使用,函数参 数、变量作用域以及lambda表达式;第6章讲解类的定义与实例化,数据成员与成员方法,特殊方 法与运算符重载;第7章讲解字符串对象及其操作;第8章讲解正则表达式语法与应用;第9章讲解 文件操作的基本知识,文件对象,文本文件内容读写,二进制文件操作与对象序列化;第10章讲解 文件复制、移动、重命名、遍历等文件级操作以及文件夹操作;第11章讲解异常处理结构语法与应 用;第12章讲解Python对SQLite数据库的操作;第13章讲解数据分析、数据处理、数据可视化以及 科学计算。 本书全部案例代码使用Python 3.8.x和Python 3.9.x编写,适当介绍了Python 3.10/3.11的新特 性,大部分内容也适用于Python 3.7.x及更低版本。本书对Python内部工作原理进行一定程度的剖 析,并适当介绍了Python代码优化和安全编程的有关知识,可以满足不同层次读者的需求。本书可 作为Python程序设计基础的公共课教材,也可供Python程序设计爱好者自学。
|
目錄:
|
第 1 章
Python 开发环境搭建与使用 1
11 Python 语言简介 1
12 Python 版本选择 1
13 Python 编程规范与代码优化建议 2
14 IDLE、Anaconda3 的安装与使用 4
141 Python 解释器安装与 IDLE 简单使用 4
142 Jupyter Notebook 与 Spyder 安装与使用 10
15 安装扩展库 12
16 标准库与扩展库中对象的导入与使用 14
161 import 包名 / 模块名 [as 别名 ] 14
162 from 包名 / 模块名 import 模块名 / 对象名 [ as 别名 ] 15
163 from 模块名 import * 15
17 __name__ 属性的作用 ( 选讲 ) 16
本章小结 16
习题 17
第 2 章
运算符、表达式与内置对象 19
21 Python 常用内置对象 19
211 常量与变量 20
212 数字 21
213 字符串与字节串 23
214 列表、元组、字典、集合 24
22 Python 运算符与表达式 25
221 算术运算符 27
222 关系运算符 29
223 成员测试运算符 in 与同一性测试运算符 is( 选讲 ) 29
224 位运算符与集合运算符 ( 选讲 ) 30
225 逻辑运算符 31
226 矩阵乘法运算符 @( 选讲 ) 31
227 补充说明 32
23 Python 关键字简要说明 34
24 Python 常用内置函数 35
241 类型转换与类型判断 41
242 最值与求和 44
243 基本输入输出 45
244 排序与逆序 46
245 枚举 47
246 map()、reduce()、filter() 47
247 range() 50
248 zip() 50
249 eval() 51
25 精彩案例赏析 52
本章小结 52
习题 53
第 3 章
Python 可迭代对象 57
31 列表 58
311 列表创建与删除 59
312 列表元素访问 59
313 列表常用方法 60
314 列表对象支持的运算符 65
315 内置函数对列表的操作 66
316 列表推导式语法与应用 66
317 切片操作 70
32 元组 73
321 元组创建与元素访问 73
322 元组与列表的异同点 74
323 生成器表达式 75
33 字典 75
331 字典创建与删除 76
332 字典元素访问 77
333 元素添加、修改与删除 79
334 标准库 collections 中与字典有关的类 80
34 集合 81
341 集合创建与删除 81
342 集合方法与运算 82
343 集合应用案例 84
35 序列解包 86
本章小结 87
习题 88
第 4 章
程序控制结构 91
41 条件表达式 91
42 选择结构 92
421 单分支选择结构 92
422 双分支选择结构 93
423 多分支选择结构 94
424 选择结构的嵌套 95
43 循环结构 96
431 for 循环与 while 循环 96
432 break 语句与 continue 语句 97
433 代码优化技巧 98
44 精彩案例赏析 99
本章小结 102
习题 103
第 5 章
函数 105
51 函数的定义与使用 105
511 基本语法 105
512 函数嵌套定义、可调用对象与修饰器 ( 选讲 ) 107
513 函数递归调用 109
52 函数参数 110
521 位置参数 111
522 默认值参数 111
523 关键参数 113
524 可变长度参数 113
525 实参序列解包 114
53 变量作用域 115
54 lambda 表达式 117
55 生成器函数设计与使用 118
56 精彩案例赏析 120
本章小结 134
习题 135
第 6 章
面向对象程序设计 ( 选讲 ) 140
61 类的定义与使用 140
62 数据成员与成员方法 141
621 私有成员与公有成员 141
622 数据成员 142
623 成员方法、类方法、静态方法、抽象方法 143
624 属性 145
625 类与对象的动态性、混入机制 147
63 继承、多态 148
631 继承 148
632 多态 149
64 特殊方法与运算符重载 150
65 精彩案例赏析 152
651 自定义队列 152
652 自定义栈 155
本章小结 157
习题 157
第 7 章
字符串 161
71 字符串编码格式简介 162
72 转义字符与原始字符串 162
73 字符串格式化 163
731 使用 % 运算符进行格式化 ( 选讲 ) 163
732 使用 format() 方法进行字符串格式化 165
733 格式化的字符串常量 166
74 字符串常用操作 166
741 find()、rfind()、index()、rindex()、count() 168
742 split()、rsplit() 169
743 join() 170
744 lower()、upper()、capitalize()、title()、
swapcase() 170
745 replace()、maketrans()、translate() 170
746 strip()、rstrip()、lstrip() 171
747 startswith()、endswith() 172
748 isalnum()、isalpha()、isdigit()、isdecimal()、
isnumeric()、isspace()、isupper()、islower() 172
749 center()、ljust()、rjust()、zfill() 173
7410 字符串对象支持的运算符 173
7411 适用于字符串对象的内置函数 175
7412 字符串对象的切片操作 177
75 字符串常量 177
76 中英文分词 178
77 汉字到拼音的转换 178
78 精彩案例赏析 179
本章小结 181
习题 182
第 8 章
正则表达式 ( 选讲 ) 184
81 正则表达式语法 184
811 正则表达式基本语法 184
812 正则表达式扩展语法 185
813 正则表达式集锦 186
82 直接使用正则表达式模块 re 处理字符串 187
83 使用正则表达式对象处理字符串 190
84 Match 对象 192
85 精彩案例赏析 194
本章小结 195
习题 196
第 9 章
文件内容操作 203
91 文件操作基本知识 204
911 内置函数 open() 205
912 文件对象属性与常用方法 206
913 上下文管理语句 with 207
92 文本文件内容操作案例精选 207
93 二进制文件操作案例精选 211
931 使用 pickle 模块读写二进制文件 ( 选讲 ) 211
932 使用 struct 模块读写二进制文件 ( 选讲 ) 213
933 使用 shelve 模块操作二进制文件 ( 选讲 ) 214
934 其他常见类型二进制文件操作案例 214
本章小结 220
习题 220
第 10 章
文件与文件夹操作 224
101 os 模块 224
102 ospath 模块 226
103 shutil 模块 228
104 精彩案例赏析 229
本章小结 232
习题 232
第 11 章
异常处理结构与单元测试 235
111 异常处理结构 235
1111 异常的概念与表现形式 235
1112 Python 内置异常类层次结构 236
1113 异常处理结构语法与应用 237
1114 断言与上下文管理语句 242
112 单元测试模块 unittest( 选讲 ) 243
本章小结 246
习题 246
第 12 章
SQLite 数据库应用开发 ( 选讲 ) 250
121 使用 Python 操作 SQLite 数据库 250
1211 Connection 对象 251
1212 Cursor 对象 252
122 精彩案例赏析 255
本章小结 257
习题 257
第 13 章
数据分析、科学计算与可视化 259
131 NumPy 数组运算与矩阵运算 259
132 SciPy 科学计算 ( 选讲 ) 266
1321 数学、物理常用常数与单位 267
1322 特殊函数模块 special 267
1323 信号处理模块 signal 268
1324 多项式计算 270
133 Pandas 数据分析 272
134 统计分析标准库 statistics 279
135 Matplotlib 可视化 281
1351 绘制折线图 281
1352 绘制散点图 281
1353 绘制饼状图 282
1354 绘制带有中文标签和图例的图 284
1355 绘制图例标签中带有公式的图 284
1356 绘图区域切分 285
1357 绘制三维曲线 286
1358 绘制三维曲面 287
1359 绘制柱状图 288
13510 绘制箱线图 290
13511 绘制雷达图 291
136 创建词云图 292
本章小结 293
习题 294
附录
精彩在继续 298
附录 A GUI 开发 298
附录 B 计算机图形学编程 301
附录 C 图像编程 303
附录 D 密码学编程 306
附录 E 系统运维 306
附录 F Windows 系统编程 307
附录 G 软件分析与逆向工程 309
参考文献
311
|
內容試閱:
|
Python 由 Guido van Rossum 于 1989 年年底开始设计与开发,第一个版本发行
于 1991 年。Python 推出不久就迅速得到了各行业人士的青睐,经过 30 多年的发展,
已经渗透到计算机科学与技术、统计分析、逆向工程与软件分析、电子取证、图形图
像处理、人工智能、游戏设计与策划、网站开发、移动终端开发、大数据分析与处理、
深度学习、科学计算可视化、云计算、网络爬虫开发、系统运维、自然语言处理、密码学、
电子电路设计、树莓派应用开发等专业和领域。目前,Python 已经成为卡内基 - 梅隆
大学、麻省理工学院、加州大学伯克利分校、哈佛大学等国外很多大学计算机专业或
非计算机专业的程序设计入门教学语言,国内也有越来越多的学校开设了 Python 程序
设计课程。
Python 语言连续多年在 TIOBE 网站的编程语言排行榜上位于前十,并于 2007 年、
2010 年、2018 年、2020 年、2021 年 5 次被评为年度语言,于 2021 年 10 月首次登
上了第一的宝座,打破了 C 语言和 Java 语言 20 多年的垄断地位,展现出强大的发展
势头。另外一个非常权威的 IEEE Spectrum 编程语言排行榜从 2017 年开始一直都把
Python 语言排在第一位。
Python 是一门免费、开源的跨平台高级动态编程语言,支持命令式编程、函数式
编程,完全支持面向对象程序设计,语法简洁清晰,拥有大量功能强大的标准库和扩
展库以及众多狂热的支持者,可以帮助各领域的科研人员或策划师甚至管理人员快速
实现和验证自己的思路与创意。Python 用户可以把主要精力放在业务逻辑的设计与实
现上,不用过多考虑语言本身的细节,开发效率非常高,其精妙之处令人击节叹赏。
Python 是一门快乐的语言,学习和使用 Python 也应该是一个快乐的过程。与
C 语言系列和 Java 等语言相比,Python 更加容易学习和使用,但这并不意味着可以
非常轻松愉快地掌握 Python。用户熟练掌握和运用 Python 仍需要通过大量的练习来
锻炼自己的思维和熟悉 Python 编程模式,同时还需要经常关注 Python 社区优秀的代
码以及各种扩展库的最新动态。当然,如果能够适当了解 Python 标准库以及扩展库的
内部工作原理,对于编写正确而优雅的 Python 程序无疑是有很大帮助的。
Python 是一门优雅的语言。Python 语法简洁清晰,提供了大量的内置对象和内
置函数,编程模式非常符合人类的思维方式和习惯。在有些编程语言中需要编写大量
代码才能实现的功能,在 Python 中仅需要调用内置函数或内置对象的方法即可实现。
如果读者已有其他程序设计语言的基础,那么在学习和使用 Python 时,一定不要把其
他语言的编程习惯和风格带到 Python 中,这不仅可能会使得代码变得非常冗余、烦琐,
还可能会严重影响代码的运行效率。应该尽量尝试从最自然、最简洁的角度出发去思
考和解决问题,这样才能写出更加优雅、更加纯正、更加 Pythonic 的代码。
本书内容组织
对于 Python 程序员来说,能够熟练运用各种扩展库毫无疑问是非常重要的,使用
优秀、成熟的扩展库可以帮助我们快速实现自己的业务逻辑和创意。但是也必须清楚
地认识到,Python 的内功是非常重要的,Python 语言基础知识和基本数据结构的熟
练掌握是理解和运用其他扩展库的必备条件之一。所以,本书前 11 章把重点和主要篇
幅放在 Python 编程基础知识的介绍上,通过大量案例介绍 Python 在实际开发中的应
用,然后在最后两章介绍数据库编程和 Python 在数据分析、数据处理与科学计算可视
化等领域的应用。关于其他应用领域的扩展库可以参考本书最后的附录,并结合自己
的专业领域查阅相关文档。全书共 13 章,主要内容组织如下。
第 1 章 Python 开发环境搭建与使用。介绍 Python 语言的特点,开发环境搭建
与使用,扩展库的管理与使用,Python 代码编写规范和优化建议。
第 2 章 运算符、表达式与内置对象。讲解 Python 对象模型,数字、字符串、列表、
元组、字典、集合等基本数据类型,运算符与表达式,内置函数。
第 3 章 Python 可迭代对象。讲解列表、元组、字典、集合等序列的常用方法和
基本操作,切片操作,列表推导式,生成器表达式,序列解包。
第 4 章 程序控制结构。讲解选择结构,for 循环与 while 循环,带 else 子句
的循环结构,break 与 continue 语句,选择结构与循环结构的综合运用。
第 5 章 函数。讲解函数的定义与使用,普通位置参数、关键参数、默认值参数、
长度可变参数,全局变量与局部变量,参数传递时的序列解包,return 语句,lambda
表达式。
第 6 章 面向对象程序设计。讲解类的定义与使用,self 与 cls 参数,类成员与
实例成员,私有成员与公有成员,特殊方法与运算符重载。
第 7 章 字符串。讲解字符串编码格式,字符串格式化、替换、分割、连接、排
版等基本操作方法及应用。
第 8 章 正则表达式。讲解正则表达式语法、正则表达式对象、子模式与 Match
对象,以及 re 模块的应用。
第 9 章 文件内容操作。讲解文件操作基本知识与 Python 文件对象,文本文件
内容读写,二进制文件内容读写与对象序列化,Word、Excel 等常见二进制文件的内
容读写。
第 10 章 文件与文件夹操作。讲解文件复制、移动、重命名、遍历等文件级操作
以及文件夹操作有关知识。
第 11 章 异常处理结构与单元测试。讲解 Python 异常类层次结构与自定义异常
类,不同形式的异常处理结构,以及单元测试。
第 12 章 SQLite 数据库应用开发。讲解 SQLite 数据库的基本特点与用法,以
及 Python 对 SQLite 数据库的操作方法。
第 13 章 数据分析、科学计算与可视化。讲解 Python 标准库 statistics 以及
NumPy、SciPy、Pandas、Matplotlib 等扩展库的用法,讲解数据处理、数据分析、
数据可视化以及科学计算的有关内容。
本书特色
本书全部案例代码使用 Python 3.8/3.9 编写,适当介绍了 Python 3.10/3.11
的新特性,大部分内容同样适用于 Python 3.5.x 和 Python 3.6.x 等低版本。
信息量大、知识点密集。全书没有多余的文字和软件安装截图,充分利用宝贵的
篇幅来介绍和讲解尽可能多的知识点,绝对物超所值。本书作者具有 20 多年程序设计
教学经验,讲授过汇编语言、C/C /C#、Java、PHP、Python 等多门程序设计语言,
并编写过大量的应用程序。在本书内容的组织和安排上,结合了作者多年教学与开发
过程中积累的许多案例,并巧妙地糅合进了相应的章节。
案例丰富,实用性强,注释量大。精选多个领域中的经典案例,每段代码都配有
大量注释,大幅缩短了读者理解代码所需要的时间。
语言精练,代码优雅。使用最精练的语言和代码介绍 Python 语法和应用,完美诠
释 Pythonic 真谛。
深度与广度兼顾。本书对 Python 内部工作原理进行一定程度的剖析,并适当介绍
Python 代码优化和安全编程的有关知识,可以满足不同层次读者的需要,读者对书中
内容每多读一遍都会有新的收获和体会。
融入思政元素。在部分案例中融入思政元素,培养学生家国情怀、民族自豪感、
社会责任感以及工匠精神、创新精神等,寓育于教。随书配套 114 个微课视频,在讲
解正文内容和代码的同时,还适当进行了扩展和补充,比正文更精彩,一定不要错过。
本书适用读者
本书可以作为 ( 但不限于 ):
(1)会计、经济、金融、心理学、统计、管理、人文社科以及其他非计算机专业研究生、
本科生或专科生的程序设计教材。如果作为本科生非计算机专业程序设计语言公共课
或选修课教材,建议采用 64 学时或 48 学时边讲边练的教学模式。
(2)具有一定 Python 基础的读者的进阶学习资料。
(3)打算利用业余时间学习一门快乐的程序设计语言并编写几个小程序来快速解
决工作中问题的读者的首选学习资料。
(4)少数对编程具有浓厚兴趣和天赋的中学生的课外阅读资料。
教学资源
本书适当融入思政元素,提供全套教学大纲、课件、源代码、课后习题答案、考
试题库、教学视频、教案以及授课计划和学时分配表,可以登录清华大学出版社官方
网站 www.tup.com.cn 下载或与作者联系索取,作者的微信公众号是“Python 小屋”。
本书第 2 版的配套 MOOC 可以在智慧树和中国大学 MOOC 学习,搜索“董付国”可找到。
由于时间仓促,作者水平有限,书中难免存在疏漏之处,还请同行指正并通过作
者联系方式进行反馈。
感谢
首先感谢父母的养育之恩,在当年那么艰苦的条件下还坚决支持我读书,而没有
让我像其他同龄的孩子一样辍学。感谢姐姐、姐夫多年来对我的爱护以及在老家对父
母的照顾,感谢善良的弟弟、弟媳在老家对父母的照顾,正是有了你们,我才能在远
离家乡的城市安心工作。感谢我的妻子在生活中对我的大力支持,也感谢懂事的女儿
在我工作时能够在旁边安静地读书而尽量不打扰我,并在本书第 1 版定稿前和妈妈一
起帮我阅读全书并检查出了几个错别字。
感谢每一位读者,感谢您在茫茫书海中选择了这本书,衷心祝愿您能够从本书中
受益,学到您需要的知识 ! 同时也期待每一位读者的热心反馈,随时欢迎指出书中的
不足 !
本书在编写出版过程中得到清华大学出版社的大力支持和帮助,在此表示衷心的
感谢。
董付国
2022 年 8 月于山东烟台
|
|