
高等学校大数据专业系列教材——Python编程基础与数据分析
扫描上方图片二维码查找系列全部教材~
✦
✦

《Python编程基础与数据分析》
作者:韩松乔 黄海量 郝晓玲
丛书名:高等学校大数据专业系列教材
定价:59.90元
印次:1-2
ISBN: 9787302689423
出版日期:2025.5
责任编辑:陈景辉
内容简介
本书以Python编程为基础,深入浅出地介绍了相关理论知识和实践案例,全面、系统地介绍了Python编程技术及其在数据科学、机器学习、数据可视化等领域应用中的核心内容。全书共14章,分别介绍了计算机程序、Python基础知识、编程逻辑、函数、数据结构、文件、模块与包、异常处理、程序调试、面向对象编程、NumPy数值计算、Pandas数据处理与分析、Matplotlib数据可视化、Python项目开发实践等知识,书中的每个知识点都有相应的实现代码和实例。。读者对象
本书主要面向广大对Python编程感兴趣的读者,也适合在数据分析、机器学习、程序开发等领域工作的专业人员,从事高等教育的专任教师,高等学校的在读学生及相关领域的广大科研人员。
编辑荐语
编程思维,创新教学。
本书不仅关注Python语法,更重视编程思维的培养。通过问题驱动,帮助读者掌握背后的逻辑与算法思维,奠定深入学习计算机科学和编程的基础。
知识全面,强调理解。
本书融入计算机组成、操作系统、数据结构、算法等基础知识,帮助读者在学习Python的同时掌握相关的计算机理论,实现知识系统化,理解编程的底层逻辑。
重点突出,层层递进。
本书基于多年教学经验,内容循序渐进,帮助读者逐步掌握Python编程的关键技能。通过模块化设计,分层呈现复杂概念,特别突出关键技能,让学习轻松又高效。
简明高效,示例详解。
本书不仅关注Python语法,更重视编程思维的培养。通过问题驱动,帮助读者掌握背后的逻辑与算法思维,奠定深入学习计算机科学和编程的基础。
知识全面,强调理解。
本书融入计算机组成、操作系统、数据结构、算法等基础知识,帮助读者在学习Python的同时掌握相关的计算机理论,实现知识系统化,理解编程的底层逻辑。
重点突出,层层递进。
本书基于多年教学经验,内容循序渐进,帮助读者逐步掌握Python编程的关键技能。通过模块化设计,分层呈现复杂概念,特别突出关键技能,让学习轻松又高效。
✦
✦
✦
✦
计算机由硬件和软件两部分组成。
1.计算机硬件组成
计算机硬件主要由五大类构成:中央处理单元(CPU)、主存储器(内存)、硬盘(外存)、输入设备和输出设备。
CPU:被视为计算机的“大脑”,负责执行各类运算。CPU从内存中读取代码和数据,进行运算后将结果写回内存。
内存:相当于计算过程中的“临时仓库”,用于存储CPU当前读取或即将写入的代码和数据。计算机关闭后,内存中的所有信息会丢失。
硬盘:是计算机的“长期存储库”,用于存储需要长期保存的信息,通常以文件形式存在。硬盘中的信息在计算机关闭后不会丢失。
输入设备:包括键盘、鼠标、扫描仪、摄像头等,用于将外部信息输入计算机系统。
输出设备:包括显示器、打印机、投影仪等,用于将计算机系统处理后的信息传递到外部环境。
2.计算机软件组成
在计算机系统中,除了硬件,还包括用于控制和管理硬件的软件。根据功能,计算机软件通常分为操作系统、系统软件和应用软件。用户通过应用软件进行操作,应用软件进一步调用系统软件和操作系统来驱动计算机硬件,从而提供所需的服务。

计算机软件的层次结构,从底层到高层依次如下所述。
计算机硬件:提供基本的计算和数据存储功能。
操作系统:负责管理计算机硬件和软件资源,为系统软件和应用软件提供接口和运行环境。
系统软件:为应用程序提供基础支持和服务,例如编译器、数据库管理系统和驱动程序。
应用软件:直接为用户提供特定功能和服务,例如文档编辑、网页浏览和数据分析。
用户:顶层的用户通过应用软件与计算机系统进行交互,完成各种任务和操作。
✦
✦
计算机编程的核心是编写一系列指令,以指引计算机执行特定任务。最初科学家使用机器语言编写这些指令。机器语言是一种低级编程语言,计算机可以直接理解,与特定类型的CPU紧密相关。虽然使用机器语言可以使程序在计算机上运行得非常快,但编写机器语言程序对程序员要求极高,因为它直接控制计算机的硬件,而没有中间的翻译过程。

为简化编程过程,科学家开发了高级编程语言。程序员可以用这些更易于理解的语言编写程序(即源代码),然后通过编译器或解释器将其转换为机器语言,以供计算机执行。将高级语言转换为机器语言的方法主要有两种:编译和解释。
编译:编译过程将高级语言一次性编译成机器语言,生成可执行文件。编译后的程序可以在运行时直接与输入数据交互并输出结果。由于编译是预先进行的,其运行效率通常较高。
解释:解释器在每次运行程序时,逐行将高级语言即时翻译为机器语言并在本地计算机上执行,输出结果数据。虽然这种方式的运行效率略低于编译,但它提供了灵活的交互式开发环境,使编程更为便捷和灵活。
✦
✦
程序的运行是一个涉及操作系统调度计算机硬件资源以执行用户应用程序的过程。

程序运行的基本步骤如下所述。
源代码编写:用户编写的源代码,被保存为文件存储于磁盘上。
编译:使用编译器将源代码转换为机器语言。
链接:通过链接程序将编译后的机器语言代码链接成一个装入模块。由于大多数程序由多个源文件组成,链接程序会根据设定的逻辑将这些文件的代码连接起来,形成一个完整的可执行程序。
装入:装入程序将装入模块加载到内存中,形成一个进程。简单来说,进程是正在运行的程序及其相关数据的集合。
输入:用户或外部程序通过输入设备(如键盘或鼠标)输入命令或数据。
计算:CPU接收外部命令或数据,读取内存中的进程代码或数据进行计算。在此过程中,计算的中间结果暂时存储于内存中。
输出:程序的最终执行结果通常通过输出设备(如显示器或打印机)呈现给用户。这些步骤共同组成了程序从编写到执行的完整过程,使计算机能够按照用户的指令进行操作并产生期望的结果。
✦
✦
1.Python语言的特点
代码质量:Python注重代码的可读性和一致性,有助于提升软件质量。它结合了面向对象和函数式编程的优势,使代码更易于重用和维护。
开发效率:与C、C++和Java等编译型语言相比,Python显著提高了开发效率。通常,实现相同功能的Python代码量仅为C++或Java的1/3到1/5。
跨平台兼容性:Python代码可以在多种主流操作系统上运行,如 Windows、Linux、UNIX、Android、macOS和RaspberryPi等。
丰富的标准库与第三方库:Python拥有庞大的标准库,支持字符串处理、网络编程、多线程等多种应用。此外,还有众多第三方库支持数据分析、网站构建、串口通信、游戏开发等多领域应用。
灵活的组件集成:Python可以与其他语言(如C、C++、C#和Java)进行交互,支持跨语言调用和集成。
2.Python的应用领域
Python的应用范围广泛,覆盖多个领域,主要包括以下9个方面。
数据分析:Python在数据读取、预处理、建模分析和结果展示方面展现出强大的能力。
图形用户界面开发:使用Python可以创建带有图形用户界面的桌面应用程序。
Web开发:Python广泛应用于构建各种架构的网站,展现出其在网络开发中的实力。
系统脚本编写:Python可用于编写系统脚本,与其他语言编写的软件模块进行交互。
科学计算与数值分析:Python支持复杂的数值分析和数据可视化,是科学计算的重要工具。
机器学习与人工智能:Python在机器学习和人工智能领域有着广泛应用,常使用TensorFlow、PyTorch等库。
网络爬虫开发:Python常被用作数据采集和网络内容分析的工具。
游戏开发:虽然不是主流游戏开发语言,但Python在简单游戏开发和原型制作中具有一定应用。
教育与研究:由于易学性,Python已成为计算机科学和工程教育中的首选语言。
✦
✦
1.运行环境
运行环境是指运行Python程序所需的软件环境。推荐安装Python 3.x的最新版本,本书采用Python 3.13版本。安装步骤如下所述。
安装 Python: 访问 Python 官方网站的下载页面(网址详见前言二维码),根据用户的操作系统选择合适的版本下载。注意,安装时,请确保选中Add Python to PATH或 Add Python to environment variables复选框,以便在命令行中直接运行Python。
安装必需的 Python 库: 使用Python的包管理器 pip 来安装所需的库。例如,安装 NumPy 库的命令是: pip install numpy。
2.开发环境
开发环境是编写Python程序的软件环境,即Python集成开发环境(IDE)。常用的IDE有IPython、PyCharm、Eclipse、Visual Studio Code等。以下是两种常见IDE的安装和配置指南。
(1)选择并安装代码编辑器PyCharm: 专门用于Python开发的IDE,社区版免费。可访问其官网(网址详见前言二维码)下载和安装。Visual Studio Code: 免费、开源的代码编辑器,支持多种语言。可从其官网(网址详见前言二维码)下载和安装。
(2)为代码编辑器安装Python扩展(针对Visual Studio Code)在Visual Studio Code中单击左侧的扩展图标,搜索并安装Python扩展。
(3)配置Python解释器在PyCharm中,通过选择File→Settings→Project→Interpreter选项,进行设置。可在Visual Studio Code的状态栏中单击Python版本号进行设置。
3.安装Anaconda
(1)访问 Anaconda官网下载页面。
(2)选择适合用户操作系统的安装程序并下载。
(3)安装时,可以选择将Anaconda添加到系统的PATH环境变量中,这样可以在命令行中直接使用Anaconda。
(4)Anaconda Navigator是一个图形界面工具,可以轻松访问Anaconda发行版中的工具,如JupyterNotebook、SpyderIDE等。
(5)安装Anaconda后,可在开始菜单中找到并启动AnacondaNavigator。(6)使用Anaconda可以创建多个独立的Python环境,每个环境可以包含不同的Python版本和库。
(7)可以在AnacondaNavigator中或使用命令行工具conda来管理这些环境。
(8)Anaconda预装了许多常用的Python包。如需安装额外的包,可以使用condainstall包名命令或在AnacondaNavigator中进行安装。
精彩样章试读
向上滑动阅览







本书目录
向上滑动阅览
目录
第一部分Python编程基础
第1章计算机程序
1.1计算机组成
1.1.1计算机硬件组成
1.1.2计算机软件组成
1.2计算机编程
1.3程序运行过程
1.4Python语言
1.5Python环境搭建
1.5.1运行环境
1.5.2开发环境
1.5.3安装和使用Anaconda
本章小结
第2章Python基础知识
2.1常量
2.1.1数字
2.1.2字符串
2.2变量
2.2.1变量名称
2.2.2变量赋值
2.2.3数据类型
2.3运算
2.3.1内置数值运算符
2.3.2内置的标识运算符
2.3.3内置的数值运算函数
2.3.4内置的数值转换函数
2.3.5Python中的库分类
2.3.6math库
2.4注释
2.5Python程序内部运行过程
2.6编程风格
2.7应用案例
2.7.1货币汇率转换
2.7.2企业利润率和增长率
2.7.3放射性同位素衰减
本章小结
第3章编程逻辑
3.1程序流程图
3.2顺序结构
3.3分支结构
3.3.1if分支结构
3.3.2模式匹配
3.4循环结构
3.4.1for循环
3.4.2while循环
3.4.3break语句
3.4.4continue语句
3.4.5海象操作符
3.5应用案例
3.5.1斐波那契数列
3.5.2计算圆周率
3.5.3广播模型、扩散模型和传染模型
本章小结
第4章函数
4.1函数的引入
4.2函数定义
4.3函数调用
4.4变量作用域
4.5函数参数
4.5.1参数默认值
4.5.2关键字参数
4.5.3可变数量参数
4.6函数返回值
4.7Lambda表达式
4.8文档字符串
4.9字符串处理
4.10回调函数*
4.11函数递归算法*
4.12应用案例
4.12.1等额本息还款
4.12.2股票期望回报率与风险
本章小结
第5章数据结构
5.1数据结构的简介
5.1.1数据的重要性
5.1.2数据结构的定义
5.1.3数据结构的分类
5.2Python内置数据结构
5.3列表
5.3.1基本概念
5.3.2创建列表
5.3.3删除列表
5.3.4增加列表元素
5.3.5删除列表元素
5.3.6访问和修改列表元素
5.3.7判断列表元素是否存在
5.3.8切片
5.3.9列表排序与逆序
5.3.10列表推导式
5.3.11Python内置函数
5.3.12列表的内存管理
5.4元组
5.4.1基本概念
5.4.2创建元组
5.4.3访问元组
5.4.4修改元组
5.4.5删除元组
5.4.6序列解包
5.4.7多序列操作
5.4.8生成器表达式
5.4.9迭代器
5.4.10生成器
5.4.11元组的内存管理
5.5字典
5.5.1基本概念
5.5.2创建字典
5.5.3删除字典元素
5.5.4添加和修改字典元素
5.5.5查询字典
5.5.6字典推导式
5.5.7字典的内存管理
5.6集合
5.6.1基本概念
5.6.2创建集合
5.6.3增加集合元素
5.6.4删除集合元素
5.6.5集合推导式
5.6.6集合运算
5.6.7集合的内存管理
5.6.8列表、元组、字典和集合的操作对比总结
5.7应用案例
5.7.1等额本金还款
5.7.2投资组合优化模型
5.7.3有向图管理
5.7.4学生课程管理系统
本章小结
第6章文件
6.1文件的操作流程
6.2打开和关闭文件
6.3操作文本文件内容
6.3.1读文件
6.3.2写文件
6.4操作二进制文件内容
6.5文件的内存管理
6.6序列化与反序列化
6.7文件的操作
6.8目录的操作
6.9应用案例
6.9.1表格数据文件的读写
6.9.2JSON数据文件处理
6.9.3使用MD5对文件进行加密
6.9.4使用yield from处理多个日志文件
本章小结
第7章模块与包
7.1模块
7.1.1模块的基本概念
7.1.2导入和使用模块
7.1.3模块循环引用问题
7.1.4模块的__name__
7.1.5编写模块
7.1.6模块导入的工作原理
7.2包
7.2.1创建包
7.2.2使用包
7.3应用案例*
7.3.1经典的包分层结构
7.3.2机器学习包的分层结构
7.3.3网上商城的包分层结构
本章小结
第8章异常处理
8.1异常的基本概念
8.2异常处理结构
8.3主动抛出异常
8.4断言
8.5上下文管理
8.6应用案例
8.6.1文件读写与用户输入异常处理
8.6.2银行账户操作中的异常
本章小结
第9章程序调试
9.1调试的基本概念
9.2常见的错误类型
9.3使用print语句进行基础调试
9.4理解Python的错误消息
9.4.1解读Python错误消息
9.4.2常见错误类型和解决方法
9.5断点与单步执行
9.5.1断点和单步执行
9.5.2断点的使用
9.5.3单步执行代码
9.5.4观察变量和程序状态
9.6Python调试器pdb
9.7利用日志记录进行调试*
9.8单元测试与调试*
9.9调试高级技巧*
9.10应用案例
本章小结
第10章面向对象编程
10.1面向对象的基本概念
10.1.1面向对象的引入
10.1.2面向对象的基本概念
10.2self参数
10.3字段
10.3.1类变量和对象变量
10.3.2成员的访问权限
10.3.3Python内置类属性
10.4方法
10.5类的继承
10.5.1类继承的基本概念
10.5.2创建父类
10.5.3创建子类
10.6面向对象的内存管理*
10.7运算符重载*
10.7.1常见魔法方法
10.7.2运算符重载示例
10.8类的多态*
10.9Python中一切皆为对象*
10.9.1Python的对象概念
10.9.2Python对象的特性
10.9.3Python对象回收机制
10.9.4class、object和type的关系
10.10元类*
10.10.1使用元类创建类
10.10.2元类的高级应用
10.11闭包*
10.12修饰器*
10.12.1修饰器的基本原理
10.12.2使用@语法简化修饰器
10.12.3处理带参数的内嵌函数
10.12.4带参数的修饰器
10.12.5类的修饰器
10.12.6内置修饰器
10.13属性*
10.13.1类的属性设置
10.13.2动态计算属性
10.13.3两种属性的区别: Attribute与Property
10.14从namedtuple到类*
10.15类型注解*
10.15.1基础类型注解
10.15.2高级类型注解
10.16应用案例
10.16.1金融投资类体系
10.16.2支付系统模拟
10.16.3单例设计模式
10.16.4金融风控
10.16.5电梯调度系统
10.16.6修饰器的高级应用*
本章小结
第二部分科学计算与数据处理
第11章NumPy数值计算
11.1NumPy概述
11.2NumPy基础
11.2.1NumPy的安装与配置
11.2.2ndarray对象
11.2.3ndarray的属性和方法
11.2.4数组的索引和切片
11.3数组运算
11.3.1基本数学运算
11.3.2统计函数
11.3.3线性代数运算
11.4NumPy高级功能*
11.4.1通用函数
11.4.2逻辑运算与条件筛选
11.4.3排序、搜索与计数
11.5NumPy的向量化
11.6NumPy的内存管理
11.7应用案例
11.7.1马尔可夫链蒙特卡洛模拟
11.7.2线性回归分析
本章小结
第12章Pandas数据处理与分析
12.1Pandas概述
12.1.1Pandas简介
12.1.2安装与配置Pandas
12.2Pandas数据结构
12.2.1Series数据结构
12.2.2DataFrame数据结构
12.3数据导入与导出
12.3.1读取数据文件
12.3.2写入数据文件
12.4数据清洗
12.4.1缺失数据处理
12.4.2数据过滤与选择
12.4.3数据转换
12.5数据分析
12.5.1数据排序与索引
12.5.2数据分组与聚合
12.5.3数据合并
12.5.4数据重塑
12.6Pandas高级功能*
12.6.1时间序列分析
12.6.2函数应用与映射
12.6.3多层索引与分层数据
12.7应用案例
12.7.1数据清洗与整理
12.7.2时间序列数据分析
本章小结
第13章Matplotlib数据可视化
13.1Matplotlib概述
13.2Matplotlib的绘图基础
13.2.1Matplotlib的工作流程
13.2.2Figure和Axes的概念
13.3基本绘图
13.3.1折线图
13.3.2散点图
13.3.3条形图
13.3.4直方图
13.3.5饼图
13.4子图与布局定制*
13.4.1创建多个子图
13.4.2自定义子图布局
13.4.3子图间的共享轴
13.5极坐标图*
13.5.1绘制基本极坐标图
13.5.2极坐标图的应用
13.6热图*
13.6.1绘制热图
13.6.2热图的应用
13.7三维绘图*
13.7.1创建三维坐标轴
13.7.2三维曲线图
13.7.3三维表面图
13.8图形美化与输出*
13.8.1自定义图形样式
13.8.2自定义主题样式
13.8.3保存和复用自定义样式
13.9图例与注释
13.9.1添加与自定义图例
13.9.2图形注释*
13.10图形的保存与导出*
13.10.1保存图形的基本用法
13.10.2保存透明背景图形
13.10.3自定义保存选项
13.11Pandas的可视化
13.12应用案例
13.12.1分布分析
13.12.2分类数据的可视化
13.12.3相关性分析*
13.12.4动态图*
本章小结
第三部分项目开发实践
第14章Python项目开发实践*
14.1Python项目开发基础
14.1.1Python项目的基本概念
14.1.2虚拟环境与依赖管理
14.1.3项目结构的最佳实践
14.1.4版本控制与协作开发
14.1.5编码规范与文档
14.1.6测试驱动开发
14.2信用卡异常交易检测项目
14.2.1信用卡异常交易检测
14.2.2信用卡异常交易检测项目概述
14.3项目环境与项目文件结构
14.3.1Python环境配置与库安装
14.3.2项目文件结构
14.4数据生成与理解
14.4.1交易数据生成类的初始化
14.4.2生成交易数据
14.4.3标记异常交易
14.4.4计算金额和时间的风险分数
14.4.5数据的可视化
14.5数据预处理
14.5.1数据清洗的基本原则
14.5.2实现数据预处理
14.5.3数据标准化与编码
14.6特征工程
14.6.1特征工程的概念
14.6.2特征提取与构造
14.6.3常见的特征选择方法
14.7模型选择与训练
14.7.1监督学习与无监督学习模型
14.7.2模型选择
14.7.3模型训练
14.8模型评估
14.8.1混淆矩阵
14.8.2评估模型性能的指标
14.8.3实现模型评估
14.8.4模型评估的可视化
14.9图形用户界面
14.9.1图像用户界面的设计理念
14.9.2图形用户界面的实现
14.10主程序
14.10.1主程序结构
14.10.2主程序的模块化实现
14.11单元测试
14.11.1单元测试概述
14.11.2实现单元测试
14.12项目的打包与发布
14.12.1打包项目: 将代码部署为可执行应用程序
14.12.2在PyCharm中打包项目
14.12.3生成可执行文件
14.12.4发布与分享项目
14.13项目总结与扩展思考
14.13.1项目改进方向
14.13.2项目的扩展性思考
本章小结
参考文献

