理论、思维训练与实践相结合是本书的特色。本书共分为8章,主要内容是通过算法与程序设计的基本概念,结合Python程序设计语言,使学生理解计算思维的概念,了解算法与程序的关系,能够进行较为简单而经典的算法设计,评价算法的性能与效率,并能利用Python语言进行简单的程序开发。培养学生利用计算机解决与专业、科研、社会需要密切相关的实际问题的能力和基本创新精神,以适应信息化社会的要求、拓宽发展空间,使其在后续专业课程的学习和未来的工作中长期受益。 本书是高等院校非计算机专业“程序设计基础”及相关课程的配套教材,也可作为Python初学者的入门书籍。
Python程序设计与算法基础教程(第2版)微课版
✍ Scribed by 江红; 余青松
- Publisher
- 清华大学出版社
- Year
- 2019
- Tongue
- Chinese
- Leaves
- 420
- Series
- 21世纪高等学校计算机类课程创新规划教材
- Edition
- 2
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
程序设计是大专院校计算机、电子信息、工商管理等相关专业的必修课程。Python语言是一种解释型、面向对象的计算机程序设计语言,广泛用于计算机程序设计教学语言、系统管理编程脚本语言、科学计算等,特别适用于快速的应用程序开发。Python编程语言广受开发者的喜爱,并被列入LAMP(Linux、Apache、MySQL以及Python/Perl/PHP),已经成为最受欢迎的程序设计语言之一。
本书集教材、练习册、上机指导于一体,基于Windows 10和Python 3.7构建Python开发平台,通过大量的实例由浅入深、循序渐进地阐述Python语言的基础知识,以及使用Python语言的开发应用实例,具体内容包括Python概述,Python语言基础,程序流程控制,常用内置数据类型,序列数据类型,输入和输出,错误和异常处理,函数、类和对象,模块和客户端,算法与数据结构基础,图形用户界面,图形绘制,数值日期和时间处理,字符串和文本处理,文件、数据库访问,网络和Web编程,多线程编程以及系统管理等。
本书是第1版的升级和完善。
在第1版的基础上,在每个章节中增加了“蒙特卡洛模拟:赌徒破产命运”“基于字典的通信录”“使用随机数估值圆周率”“去除列表中的重复项生成器函数”“文本统计”“基因预测”“字符串加密和解密”“病毒扫描”“遍历并输出文件目录结构”等实用小案例。
本书的每个章节末还增加了“网络爬虫案例”“百度音乐批量下载器”“使用pandas进行数据分析和处理”“猜单词游戏”“井字棋(Tic Tac Toe)游戏”“21点扑克牌游戏”“简易图形用户界面计算器”“基于turtle的汉诺塔问题求解动画的设计和实现”“基于模块的库存管理系统”“基于数据库和GUI的教务管理系统”“文本相似度比较分析”“文本统计并行处理”“科学计算和数据分析”“使用嵌套循环实现图像处理算法”“NLTK与自然语言处理”等大的实用案例研究。实用案例研究作为本书的电子资源,采用二维码的方式印在书上,作为开源的补充阅读和学习资源,并且随着Python程序的需求和演变将不断增补和更新。
教程还提供教学微课视频,方便学生反复观看和学习课程相关内容,扫描书中的二维码,可以在线观看视频讲解。
为了更好地帮助读者理解和掌握知识点及应用技能,本书提供了700多个大大小小的实例、431道复习题(选择题、填空题和思考题)、563个实践操作任务、37个综合应用案例。本书配套的教学课件、教学大纲、电子教案、期末试卷、习题答案可以通过扫描封底课件二维码下载。
本书由华东师范大学江红和余青松共同编写,衷心感谢清华大学出版社的编辑,敬佩他们的睿智和敬业。由于时间和编者学识有限,书中不足之处在所难免,敬请诸位同行、专家和读者指正。
编 者
2019年5月
✦ Table of Contents
封面
扉页
内容简介
版权页
前言
目录
第1章 Python概述
1.1 初识Python语言
1.2 Python语言版本和开发环境
1.3 下载和安装Python
1.4 使用Python解释器解释执行Python程序
1.5 使用文本编辑器和命令行编写和执行Python源文件程序
1.6 使用集成开发环境IDLE编写和执行Python源文件程序
1.7 在线帮助和相关资源
1.8 复习题
1.9 上机实践
1.10 案例研究:安装和使用其他Python环境
第2章 Python语言基础
2.1 Python程序概述
2.2 Python对象和引用
2.3 标识符及其命名规则
2.4 变量和赋值语句
2.5 表达式和运算符
2.6 语句
2.7 函数和模块
2.8 类和对象
2.9 模块和包
2.10 复习题
2.11 上机实践
2.12 案例研究:使用Pillow库处理图像文件
第3章 程序流程控制
3.1 顺序结构
3.2 选择结构
3.3 循环结构
3.4 复习题
3.5 上机实践
3.6 案例研究:使用嵌套循环实现图像处理算法
第4章 常用内置数据类型
4.1 Python内置数据类型概述
4.2 int类型
4.3 float类型
4.4 complex类型
4.5 bool类型
4.6 str类型
4.7 比较关系运算和条件表达式
4.8 算术运算符和位运算符
4.9 混合运算和数值类型转换
4.10 内置标准数学函数
4.11 复习题
4.12 上机实践
4.13 案例研究:科学计算和数据分析
第5章 序列数据类型
5.1 Python序列数据概述
5.2 序列数据的基本操作
5.3 元组
5.4 列表
5.5 字符串
5.6 字节序列
5.7 复习题
5.8 上机实践
5.9 案例研究:猜单词游戏
第6章 输入和输出
6.1 输入和输出概述
6.2 命令行参数
6.3 标准输入和标准输出函数
6.4 文件和文件对象
6.5 标准输入、输出和错误流
6.6 重定向和管道
6.7 复习题
6.8 上机实践
6.9 案例研究:21点扑克牌游戏
第7章 错误和异常处理
7.1 程序的错误
7.2 异常处理
7.3 断言处理
7.4 程序的基本调试方法
7.5 使用logging模块输入日志
7.6 复习题
7.7 上机实践
7.8 案例研究:使用调试器调试Python程序
第8章 函数和函数式编程
8.1 函数概述
8.2 函数的声明和调用
8.3 参数的传递
8.4 函数的返回值
8.5 变量的作用域
8.6 递归函数
8.7 内置函数的使用
8.8 Python函数式编程基础
8.9 复习题
8.10 上机实践
8.11 案例研究:井字棋游戏
第9章 面向对象的程序设计
9.1 面向对象概念
9.2 类对象和实例对象
9.3 属性
9.4 方法
9.5 继承
9.6 对象的特殊方法
9.7 对象的引用、浅拷贝和深拷贝
9.8 可迭代对象:迭代器和生成器
9.9 自定义类应用举例
9.10 复习题
9.11 上机实践
9.12 案例研究:文本相似度比较分析
第10章 模块和客户端
10.1 模块化程序设计的概念
10.2 模块的设计和实现
10.3 模块的导入和使用
10.4 包
10.5 模块的导入顺序
10.6 名称空间与名称查找顺序
10.7 复习题
10.8 上机实践
10.9 案例研究:基于模块的库存管理系统
第11章 算法与数据结构基础
11.1 算法及其性能分析
11.2 查找算法
11.3 排序算法
11.4 常用数据结构
11.5 数组
11.6 栈和队列
11.7 集合
11.8 字典
11.9 collections模块的其他数据结构
11.10 应用举例
11.11 复习题
11.12 上机实践
11.13 案例研究:程序运行时间度量分析
第12章 图形用户界面
12.1 图形用户界面概述
12.2 tkinter概述
12.3 几何布局管理器
12.4 事件处理
12.5 常用组件
12.6 对话框
12.7 菜单和工具栏
12.8 基于wxPython的图形用户界面设计入门
12.9 复习题
12.10 上机实践
12.11 案例研究:简易图形用户界面计算器
第13章 图形绘制
13.1 Python绘图模块概述
13.2 基于tkinter的图形绘制
13.3 基于turtle模块的海龟绘图
13.4 基于Matplotlib模块的绘图
13.5 复习题
13.6 上机实践
13.7 案例研究:汉诺塔问题求解动画
第14章 数值日期和时间处理
14.1 相关模块概述
14.2 math模块和数学函数
14.3 cmath模块和复数数学函数
14.4 random模块和随机函数
14.5 数值运算模块NumPy
14.6 日期和时间处理
14.7 应用举例
14.8 复习题
14.9 上机实践
14.10 案例研究:使用pandas进行数据分析和处理
第15章 字符串和文本处理
15.1 相关模块概述
15.2 字符串处理的常用操作
15.3 正则表达式
15.4 正则表达式模块re
15.5 正则表达式应用举例
15.6 应用举例
15.7 复习题
15.8 上机实践
15.9 案例研究:NLTK与自然语言处理
第16章 文件和数据交换
16.1 文件操作相关模块概述
16.2 文本文件的读取和写入
16.3 二进制文件的读取和写入
16.4 随机文件访问
16.5 内存文件的操作
16.6 文件的压缩和解压缩
16.7 CSV格式文件的读取和写入
16.8 输入重定向和管道
16.9 对象序列化
16.10 复习题
16.11 上机实践
16.12 案例研究:百度音乐批量下载器
第17章 数据库访问
17.1 数据库基础
17.2 Python数据库访问模块
17.3 使用sqlite3模块连接和操作SQLite数据库
17.4 使用SQLiteStudio查看和维护SQLite数据库
17.5 复习题
17.6 上机实践
17.7 案例研究:基于数据库和GUI的教务管理系统
第18章 网络编程和通信
18.1 网络编程的基本概念
18.2 基于socket的网络编程
18.3 基于urllib的网络编程
18.4 基于http的网络编程
18.5 基于ftplib的网络编程
18.6 基于poplib和smtplib的网络编程
18.7 复习题
18.8 上机实践
18.9 案例研究:网络爬虫案例
第19章 并行计算:进程、线程和协程
19.1 并行处理概述
19.2 基于线程的并发处理
19.3 基于进程的并行计算
19.4 基于线程池/进程池的并发和并行任务
19.5 基于asyncio的异步IO编程
19.6 应用举例
19.7 复习题
19.8 上机实践
19.9 案例研究:文本统计并行处理
第20章 系统管理
20.1 系统管理相关模块
20.2 目录、文件和磁盘的基本操作
20.3 执行操作系统命令和运行其他程序
20.4 获取终端的大小
20.5 文件的压缩和解压缩
20.6 configparser模块和配置文件
20.7 应用举例
20.8 复习题
20.9 上机实践
20.10 案例研究:简易图形用户界面压缩软件
正文结束
参考文献
📜 SIMILAR VOLUMES
C#语言是微软公司推出的功能强大的编程语言,能够开发出桌面程序、Web程序和移动应用程序。本书以通俗易懂的语言、翔实生动的操作案例、精挑细选的使用技巧,指导初学者快速掌握C#语言的基础知识与使用方法。《C#程序设计基础入门与实战(微课版)》主要内容包括C#语言基础、语法基础、运算符与表达式、流程控制语句、方法、面向对象编程、数组和集合、继承与多态、字符串与正则表达式、委托与事件、泛型、异常处理和程序调试、文件、Windows窗体编程、ADO.NET和数据库操作等方面的知识。全书循序渐进、结构清晰,以实战演练的方式介绍知识点,让读者一看就懂。 《C#程序设计基础入门与实战(微课版)》面向学习C
本教程集教材、练习册、上机指导于一体,基于Windows 10和Python 3.5.2构建Python开发平台,阐述Python语言的基础知识,以及使用Python语言的实际开发应用实例,具体内容包括:Python概述、Python语言基础、程序流程控制、常用内置数据类型、系列数据类型、输入和输出、错误和异常处理、函数、类和对象、模块和客户端、算法与数据结构基础、图形用户界面、图形绘制、数值日期和时间处理、字符串和文本处理、文件、数据库访问、网络和Web编程、多线程编程以及系统管理等。 本教程作者结合多年的程序设计、系统开发以及授课经验,由浅入深、循序渐进地介绍Python程序设计语言,让读
Python是一门简单易学、功能强大的优雅编程语言。它内建了高效的数据结构,丰富的第三方开发库,能够用简单而高效的方式编程。本书由浅入深、步步引导、循序渐进地讲述Python语言的基础知识、基本语法。本书用12章的篇幅来介绍Python语言,包括Python语言基础、选择结构程序设计、循环结构程序设计、函数、正则表达式、文件与文件夹操作、面向对象程序设计、模块和包、算法与数据结构基础、错误和异常处理、图形用户界面、用matplotlib实现数据可视化。 本书可作为高等院校各专业的Python语言教材,也可作为软件开发人员的参考资料,还可作为Python语言自学者的参考书。
本书是面向Android Studio初学者的入门教程,内容基本涵盖了Android相关的所有技术,大致可以分成两个部分。第一部分(第1~4章)主要介绍Android Studio的安装、应用程序的结构、图形用户界面的组件及其设计方法;第二部分(第5~9章)主要介绍较高级的主题,内容包括后台服务与系统服务、网络通信技术、数据存储技术、地图服务与传感器检测技术等。本书内容浅显易懂,对每一个知识点都配了相应的例题。本书提供了电子课件和所有例题的源代码,扫描每章提供的二维码可观看教学视频。本书可作为高等院校及各类培训学校Android系统课程的教材,也可作为希望学习Android系统开发的读者的自学
本书以最新的Java SE 8为基础,全面讲解Java编程语言、Java面向对象技术和Java核心类库。全书共18章,主要内容包括Java语言基础(数据类型、运算符与表达式、程序流程控制)、类与对象基础、数组与字符串、Java面向对象特征(类的继承与多态、内部类与注解类型、接口与Lambda表达式)、常用核心类、泛型与集合框架、异常处理、输入输出、JavaFX图形界面及事件处理、常用控件、JDBC数据库编程、并发编程基础、网络编程等。 本书知识点全面,体系结构清晰,重点突出,文字准确,内容组织循序渐进,并有大量精选示例。每章配有精心设计的编程练习题,帮助读者理解掌握编程技术。本书提供教学