|
編輯推薦: |
全书共11章,主要内容如下:第1章介绍Python基础知识与概念;第2章讲解数据类型、运算符以及表达式;第3章讲解Python选择结构与循环结构;第4章讲解序列及复杂的数据结构;第5章讲解字符串与正则表达式;第6章讲解函数的定义与使用;第7章讲解面向对象编程;第8章讲解模块和包;第9章讲解异常处理结构以及Python程序的调试与测试方法;第10章讲解文件操作;第11章讲解网络程序设计、开发网站和大数据处理等典型项目开发案例。
|
內容簡介: |
全书共11章,主要内容如下:第1章介绍Python基础知识与概念;第2章讲解数据类型、运算符以及表达式;第3章讲解Python选择结构与循环结构;第4章讲解序列及复杂的数据结构;第5章讲解字符串与正则表达式;第6章讲解函数的定义与使用;第7章讲解面向对象编程;第8章讲解模块和包;第9章讲解异常处理结构以及Python程序的调试与测试方法;第10章讲解文件操作;第11章讲解网络程序设计、开发网站和大数据处理等典型项目开发案例。
|
關於作者: |
本书作者都是在高校从事计算机及相关专业教学的一线教师,具有丰富的教学实践经验,其中两位具有副高职称。先后出版多部教材,计算机网络实验教程(清华大学出版社)、交换与路由实验(西南师范大学出版社)、物联网技术基础实践(清华大学出版社)、物联网技术高级实践(清华大学出版社)、计算机网络实践与习题指导(清华大学出版社)、计算机组成原理实践与习题指导(清华大学出版社)、物联网关键技术与实践教程(清华大学出版社),先后主持(主研)教研教改项目10余项和科研项目15项。
|
目錄:
|
第1章 Python语言简介 1
1.1 什么是Python语言 1
1.2 Python语言的发展历史 1
1.3 Python语言的优点 2
1.4 Python语言的应用 2
1.5 Python的安装 3
1.6 第一个Python程序 5
1.7 Python源代码编译 8
1.8 实验与习题 10
第2章 数据类型、运算符及表达式 11
2.1 数据类型 11
2.1.1 标识符 11
2.1.2 变量和常量 12
2.1.3 整型 14
2.1.4 浮点型 15
2.1.5 分数 17
2.1.6 布尔型 19
2.1.7 空值 20
2.2 输入与输出 20
2.2.1 print函数 20
2.2.2 input函数 22
2.2.3 其他输入输出函数 23
2.3 运算符 25
2.3.1 Python语言运算符简介 25
2.3.2 算术运算符和算术表达式 25
2.3.3 逻辑运算符和逻辑表达式 26
2.3.4 关系运算符和关系表达式 27
2.3.5 位运算符 27
2.3.6 赋值运算符 28
2.3.7 其他运算符 30
2.3.8 运算符的优先级 32
2.4 实例精选 32
2.5 实验与习题 45
第3章 程序流程控制 46
3.1 算法概述 46
3.1.1 算法及其要素和特性 46
3.1.2 算法表示方法 46
3.2 顺序结构 48
3.3 选择结构 48
3.3.1 if选择结构 48
3.3.2 选择结构的嵌套 51
3.4 循环结构 51
3.4.1 while 循环结构 52
3.4.2 for循环结构 53
3.4.3 break和continue语句 55
3.4.4 else语句 55
3.4.5 pass语句 56
3.4.6 循环结构的嵌套 56
3.5 实例精选 57
3.6 实验与习题 65
第4章 序列及其他数据结构 68
4.1 序列 68
4.1.1 序列类型的基本操作 68
4.1.2 解压序列赋值给多个变量 68
4.2 列表 70
4.2.1 列表的创建与删除 70
4.2.2 列表元素的访问与计数 71
4.2.3 列表元素的增加与删除 72
4.2.4 用列表作为栈 74
4.2.5 常用列表内置函数 75
4.2.6 成员资格判断 76
4.2.7 切片操作 76
4.2.8 列表排序 77
4.2.9 列表复制 78
4.2.10 列表推导式 79
4.3 元组 80
4.3.1 创建元组 80
4.3.2 访问元组 80
4.3.3 元组与列表的区别 81
4.3.4 序列解包 81
4.3.5 生成器推导式 83
4.4 字典 84
4.4.1 创建字典 84
4.4.2 访问字典 85
4.4.3 字典元素的修改与删除 87
4.4.4 有序字典 87
4.4.5 字典推导式 88
4.4.6 字典的运算 88
4.4.7 查找两字典的相同点 89
4.4.8 字典中的键映射多个值 90
4.5 集合 91
4.5.1 创建与删除集合 92
4.5.2 更新集合 92
4.5.3 集合的数学运算 93
4.6 排序算法 95
4.7 实例精选 97
4.8 实验与习题 111
第5章 字符串和正则表达式 113
5.1 文本序列类型字符串 113
5.1.1 字符串的创建 113
5.1.2 字符串的转义与连接 113
5.1.3 数字字符串与时间的格式化 114
5.1.4 字符串的索引与切片 117
5.1.5 常见的字符串操作 117
5.2 正则表达式 118
5.2.1 正则表达式的语法 118
5.2.2 正则表达式与Python语言 121
5.2.3 常用的正则表达式 123
5.3 jieba分词与wordcloud词云 124
5.3.1 jieba分词的应用 124
5.3.2 wordcloud词云的应用 136
5.4 实例精选 138
5.5 实验与习题 142
第6章 函数 144
6.1 概述 144
6.2 函数的定义 144
6.2.1 无参函数的定义与调用 144
6.2.2 有参函数的定义与调用 145
6.2.3 函数嵌套定义 145
6.3 函数参数与函数返回值 146
6.3.1 位置参数 146
6.3.2 关键字参数 146
6.3.3 默认值参数 147
6.3.4 可变长度参数 147
6.3.5 只接收关键字参数的函数 148
6.3.6 函数传递参数时序列解包 149
6.3.7 函数返回值 154
6.4 函数的递归调用 155
6.5 匿名函数:lambda表达式 157
6.6 map函数 157
6.7 变量作用域 158
6.8 生成器 160
6.9 协程 162
6.10 偏函数与函数柯里化 163
6.11 实例精选 165
6.12 实验与习题 186
第7章 面向对象编程 187
7.1 概述 187
7.1.1 什么是面向对象的程序设计 187
7.1.2 面向对象程序设计的特点 187
7.2 类的定义和对象的创建 187
7.2.1 类和对象的关系 187
7.2.2 类的定义 187
7.2.3 self和object参数 188
7.3 属性和实例 188
7.3.1 类的属性和实例 188
7.3.2 对象的属性和方法 190
7.4 派生类、多重继承与运算符重载 191
7.4.1 派生类 191
7.4.2 多重继承 192
7.4.3 运算符重载 192
7.5 新式类的高级特性 193
7.5.1 什么是新式类 193
7.5.2 __slots__类属性 194
7.5.3 描述符的变化 194
7.5.4 特殊方法__getattribute__ 195
7.5.5 装饰器的区别 195
7.6 类的设计技巧 196
7.6.1 调用父类方法 196
7.6.2 静态方法和类方法的区别 197
7.6.3 创建大量对象时减少内存占用 197
7.7 实例精选 198
7.8 实验与习题 205
第8章 模块和包 206
8.1 命名空间 206
8.1.1 命名和对象的区别 206
8.1.2 作用域和闭包机制 206
8.2 装饰器 207
8.2.1 简单装饰器 207
8.2.2 参数的处理 208
8.2.3 调用顺序 209
8.3 模块 209
8.3.1 什么是模块 209
8.3.2 导入模块 210
8.3.3 标准模块 211
8.4 包 212
8.4.1 包的概述 212
8.4.2 包管理工具pip 213
8.4.3 虚拟环境工具virtualenv 215
8.5 实例精选 216
8.6 实验与习题 219
第9章 异常 220
9.1 异常概述 220
9.1.1 什么是异常 220
9.1.2 标准异常类 220
9.2 异常处理 221
9.2.1 tryexcept 语句 221
9.2.2 tryexceptelse语句 221
9.2.3 tryexceptfinally语句 222
9.3 抛出异常和自定义异常 222
9.3.1 抛出异常 222
9.3.2 自定义异常 223
9.4 断言与上下文管理 224
9.4.1 断言 224
9.4.2 上下文管理 225
9.5 两个特殊语句 227
9.5.1 raise语句 227
9.5.2 with 语句 228
9.6 调试程序 231
9.6.1 使用IDLE调试程序 231
9.6.2 使用pdb模块调试程序 233
9.7 实例精选 235
9.8 实验与习题 241
第10章 文件 243
10.1 文件的描述 243
10.2 文件的打开与关闭 243
10.2.1 文件的打开 243
10.2.2 文件的关闭 244
10.3 文件的读写 245
10.3.1 文件的读取 245
10.3.2 文件的写入 245
10.4 文件的定位 246
10.4.1 seek和tell函数 246
10.4.2 以r 方式打开文件 246
10.4.3 以w 方式打开文件 247
10.5 文件的备份和删除 247
10.5.1 文件和文件夹的备份 247
10.5.2 文件的删除 248
10.6 实例精选 249
10.7 实验与习题 260
第11章 可视化编程 261
11.1 用matplotlib模块绘制图形 261
11.1.1 绘制单个图表 261
11.1.2 绘制多个图表 262
11.2 用Tkinter模块绘制图形 265
11.2.1 绘制圆形 265
11.2.2 绘制直线 265
11.2.3 绘制方形 266
11.2.4 绘制椭圆 267
11.3 用Tkinter模块设计交互式界面 268
11.3.1 标签组件 268
11.3.2 按钮组件 268
11.3.3 输入框组件 269
11.3.4 单选框组件和复选框组件 270
11.3.5 消息窗口组件 271
11.4 用turtle库绘制图形 272
11.5 实例精选 276
11.6 实验与习题 282
第12章 数据库操作 283
12.1 数据库中的事务 283
12.2 数据库连接 284
12.3 创建数据表 285
12.4 表的插入操作 285
12.5 表的查询操作 286
12.6 表的更新操作 287
12.7 表的删除操作 287
12.8 错误处理 288
12.9 实例精选 288
12.10 实验与习题 290
第13章 Python应用案例 291
13.1 Python爬虫开发实战 291
13.1.1 Requests:让HTTP服务人类 291
13.1.2 Beautiful Soup:解析HTML利器 292
13.1.3 教务系统课程表爬虫 293
13.1.4 常见文档的爬取方法 300
13.2 Tromino谜题 303
13.2.1 案例分析与算法设计 304
13.2.2 程序实现及运行结果 304
13.3 最大总和问题 308
13.3.1 案例问题分析与算法设计 309
13.3.2 程序实现及运行结果分析 309
13.4 校园导航问题 311
13.4.1 案例问题分析与算法设计 311
13.4.2 程序实现及运行结果 312
13.5 实验与习题 316
附录A Python常用的方法及函数 317
参考文献 329
|
內容試閱:
|
程序设计是大学生的必修基础课程,也是培养学生计算思维能力的重要课程之一。Python语言是一种解释型、面向对象的计算机程序设计语言,其经过20多年的发展,已经广泛应用于计算机科学与技术、科学计算、数据的统计分析、移动终端开发、图形图像处理、人工智能、游戏设计、网站开发等领域。Python语言是扩展性很强的程序设计语言,语法简洁清晰,同时拥有功能丰富的标准库和扩展库。其标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等功能;扩展库则覆盖科学计算、Web开发、数据库接口、图形系统等多个领域。
由于Python语言的简洁性、易读性以及可扩展性,在国外用Python语言进行科学计算的研究机构日益增多,一些知名大学已经采用Python语言讲授程序设计课程。例如,卡内基-梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就是使用Python语言讲授的。根据IEEE Spectrum的研究报告,Python语言是2017年世界上最受欢迎的语言。自2018年起,教育部将Python语言新增为全国计算机等级考试语言。
本书由浅入深、循序渐进地讲述Python语言的基本概念、基本语法和数据结构等基础知识。全书共13章,第1章和第2章介绍Python语言基本概念、基本数据类型、运算符和表达式;第3章介绍三种基本程序设计结构(顺序结构、选择结构和循环结构);第4章介绍序列(包括列表和元组)、字典与集合等;第5章介绍字符串和正则表达式;第6章介绍函数;第7章介绍面向对象编程;第8章介绍模块和包;第9章和第10章介绍异常和文件;第11章介绍可视化编程;第12章介绍数据库操作;第13章讲解Python应用案例。本书配套建设了代码自动评测系统,读者可以扫描二维码访问该系统,在系统里在线提交代码,系统会自动评测代码是否正确并及时反馈结果。
本书是重庆理工大学的规划教材,由重庆工商大学的陆渝老师和重庆理工大学的多位老师共同编写,其中第1章和第2章由高羽舒编写,第3章由周宏编写,第4章、第6章、第13章和附录由崔贯勋编写,第5章由丛超编写,第7章和第8章由陆渝编写,第9章和第10章由邹航编写,第11章由陆艳军、魏晔编写,第12章由刘亚辉、倪伟编写,全书由崔贯勋统稿。学生张晓君、俞桦翀、陈国栋、刘强等参与了部分示例代码的调试,编者在此一并表示衷心的感谢。
本书的主要特点是精选了大量经典实例与案例,并在初学者容易出错的实例前标注★以提醒读者特别注意。另外,本书在编写过程中参考的资料已在书末参考文献中列出(如未列出请联系作者),在此对相关资料的作者深表感谢。
本书配套PPT课件、示例程序代码和思维导图等学习资源,读者可以从清华大学出版社官方微信公众号书圈(itshuquan)下载。
由于编者水平有限,书中难免存在不足之处,恳请广大读者批评指正。
编 者
2020年12月
|
|