图书简介:
目录
第1章 认识Python 1
1.1 计算机语言概述 1
1.1.1 计算机语言发展历程 1
1.1.2 高级语言的执行原理 2
1.2 Python语言 3
1.2.1 Python语言发展历程 4
1.2.2 Python语言核心优势 4
1.3 开发环境搭建 5
1.3.1 Python的版本选择 5
1.3.2 Python的安装 5
1.3.3 运行Python程序 6
1.4 程序设计基础 9
1.4.1 程序设计基本流程 9
1.4.2 IPO设计方法 10
1.4.3 程序设计案例:简易计算器 10
1.5 Python设计哲学 14
1.5.1 Python之禅 14
1.5.2 核心原则解读 14
1.6 本章小结 15
本章习题 15
第2章 Python语法基础 17
2.1 数据类型 17
2.1.1 数字类型 17
2.1.2 文本类型 20
2.1.3 布尔类型 21
2.1.4 数据类型转换 22
2.1.5 eval()函数 25
2.2 变量与常量 26
2.2.1 标识符命名规范 26
2.2.2 变量及其特性 27
2.2.3 变量的赋值方式 28
2.2.4 Python中的常量约定 30
2.3 基本输入与输出函数 30
2.3.1 内置函数 30
2.3.2 输出函数print() 31
2.3.3 输入函数input() 34
2.4 运算符与表达式 36
2.4.1 算术/比较/逻辑运算符 36
2.4.2 成员/身份/位运算符 40
2.4.3 运算符优先级 43
2.4.4 表达式应用案例 43
2.5 代码规范 44
2.5.1 清晰的变量命名 44
2.5.2 清晰的注释 45
2.5.3 规范的代码缩进 46
2.6 模块化编程 46
2.6.1 Python中的模块 46
2.6.2 模块导入的方法 47
2.6.3 标准库函数 48
2.7 综合案例:船舶航行数据采集与分析 50
2.8 本章小结 53
本章习题 53
第3章 Python流程控制 55
3.1 程序流程表示 55
3.1.1 流程图 55
3.1.2 程序的基本结构 56
3.2 分支结构 57
3.2.1 单分支结构 57
3.2.2 双分支结构 58
3.2.3 多分支结构 60
3.3 循环结构 63
3.3.1 循环结构三要素 63
3.3.2 while语句 63
3.3.3 for语句 65
3.3.4 跳转语句 67
3.3.5 循环嵌套 70
3.4 程序的异常处理 72
3.4.1 异常处理的基本概念 72
3.4.2 try-except语句 73
3.4.3 try-except-…-except语句 73
3.4.4 try-except-…-except-else-finally语句 74
3.5 Turtle 75
3.5.1 基本概念 76
3.5.2 Turtle的坐标体系 76
3.5.3 其他常用控制函数 79
3.6 综合案例:动态绘制彩色同心圆 82
3.7 本章小结 85
本章习题 85
第4章 组合数据类型 89
4.1 序列 89
4.1.1 序列概述 89
4.1.2 列表 89
4.1.3 元组 95
4.1.4 字符串 96
4.1.5 序列例题 99
4.2 集合 102
4.2.1 创建集合 102
4.2.2 修改集合 103
4.2.3 集合运算 103
4.2.4 常用的集合函数 104
4.3 字典 104
4.3.1 创建字典 104
4.3.2 访问字典 104
4.3.3 添加或修改键值对 107
4.3.4 删除键值对 107
4.3.5 字典的常用内置函数及方法 107
4.3.6 字典例题 108
4.4 综合性习题 109
4.5 jieba库 112
4.5.1 核心特性和技术原理 112
4.5.2 jieba库使用步骤 113
4.5.3 jieba库应用案例 114
4.6 本章小结 116
本章习题 116
第5章 函数 118
5.1 函数基础知识 119
5.1.1 函数的定义 119
5.1.2 函数的调用 120
5.2 函数参数传递 123
5.2.1 位置参数 123
5.2.2 关键字参数 123
5.2.3 默认参数 123
5.2.4 可变参数 124
5.3 变量作用域 127
5.3.1 局部变量 128
5.3.2 全局变量与global关键字 128
5.3.3 嵌套函数与nonlocal关键字 131
5.4 特殊函数 134
5.4.1 匿名函数 134
5.4.2 递归函数 134
5.4.3 高阶函数 141
5.4.4 filter()数据过滤 146
5.5 综合案例:学生成绩分析与处理 148
5.6 本章小结 154
本章习题 154
第6章 文件I/O 158
6.1 文件基础知识 158
6.1.1 文件的类型 158
6.1.2 文件的打开与关闭 159
6.1.3 文件的编码 160
6.2 文件操作 161
6.2.1 文件的读取 161
6.2.2 文件的写入 162
6.3 数据组织的维度 163
6.3.1 数据组织维度的基本概念 163
6.3.2 一维数据的处理 165
6.3.3 二维数据的处理 165
6.4 Python标准库CSV模块 166
6.4.1 基础读取 166
6.4.2 写入CSV文件 167
6.4.3 其他常见问题处理 168
6.5 例题解析 169
6.6 本章小结 171
本章习题 171
第7章 面向对象程序设计 173
7.1 类与对象的定义 173
7.1.1 类与对象 173
7.1.2 类的定义 173
7.2 对象的创建与使用 174
7.2.1 对象的创建 174
7.2.2 self参数与__init__()方法 175
7.2.3 属性与方法 175
7.3 访问权限 182
7.3.1 公有属性和私有属性 182
7.3.2 公有方法和私有方法 183
7.4 继承与派生 185
7.4.1 继承性 185
7.4.2 派生类的定义与使用 186
7.5 多态 192
7.6 综合案例:动物园管理系统 198
7.7 本章小结 202
本章习题 202
第8章 Python生态 206
8.1 数值计算:NumPy 206
8.1.1 NumPy数组 206
8.1.2 数学和统计功能 210
8.1.3 综合案例:船舶速度预测 213
8.2 数据分析:Pandas 215
8.2.1 Pandas基础 215
8.2.2 数据分析与统计 221
8.2.3 综合案例:船舶航行数据分析 223
8.3 数据可视化 225
8.3.1 可视化基础 225
8.3.2 Matplotlib的使用 226
8.3.3 Seaborn的使用 233
8.4 机器学习框架:PyTorch 238
8.4.1 PyTorch简介 238
8.4.2 张量基础 239
8.4.3 自动微分 240
8.4.4 构建并训练神经网络 241
8.4.5 综合案例:MNIST手写数字识别 245
8.5 Python爬虫 248
8.5.1 网络爬虫基础 248
8.5.2 Python爬虫基础工具 254
8.5.3 数据清洗 263
8.5.4 爬虫综合案例:爬取豆瓣电影 269
8.6 简单游戏开发:Pygame 275
8.6.1 安装Pygame 275
8.6.2 Pygame初始化模块 275
8.6.3 游戏主循环 277
8.6.4 绘制图形与文本 279
8.6.5 处理用户输入 283
8.6.6 添加图像和声音 283
8.6.7 碰撞检测 284
8.6.8 综合项目实战:简单的小游戏 284
8.7 本章小结 287
结束语 288
展开
前言
在人工智能与信息技术迅猛发展的今天,编程已成为一项核心基础性能力。Python以其简洁明了的语法、强大的功能库和活跃的社区生态,成为这一浪潮中备受青睐的编程语言。它不仅是初学者步入编程世界的理想阶梯,也是数据科学家、人工智能工程师乃至科研人员手中用以解决复杂问题的利器。我们编写本书的初衷是系统而深入地引导读者掌握Python——从理解其设计哲学开始,直至能够运用它进行实际项目的开发,进而帮助读者构建起坚实的编程思维和解决问题的能力。
本书是我们多年教学实践与科研项目经验的结晶。在编写过程中,我们始终秉持“理论与实践并重,基础与前沿结合”的原则,力求使本书既具备严谨的知识体系,又包含丰富的工程实践案例。我们坚信,一本优秀的程序设计类书籍不仅仅是知识的罗列,更应该是引导读者探索、思考和实践的清晰路线图。
一、本书总体结构与内容特色
本书采用“基础—进阶—应用”的三段式结构设计,全面覆盖Python程序设计的核心知识与实践应用,注重计算思维培养和跨学科应用能力提升。
全书共分为8章,可划分为以下三大部分。
第一部分:程序设计基础(第1~4章)
本部分为编程入门基础,内容从计算机语言概述开始,逐步深入讲解Python语法核心要素,为读者后续学习奠定坚实基础。
第1章 认识Python:介绍计算机语言概述、Python语言、开发环境搭建、程序设计基础、Python设计哲学,帮助读者初步建立“输入—处理—输出”的程序设计理念。
第2章 Python语法基础:详解数据类型、变量与常量、基本输入与输出函数、运算符与表达式、代码规范、模块化编程等基本语法元素。
第3章 Python流程控制:深入讲解程序流程表示、分支结构、循环结构,引入程序的异常处理机制和Turtle绘图库,帮助读者掌握程序逻辑的动态组织方法。
第4章 组合数据类型:系统阐述序列、集合、字典的内容,以及jieba库的相关知识,它们是组织和管理数据的强大工具,也是处理复杂信息的基础。
本部分穿插船舶航行数据采集与分析、动态绘制彩色同心圆等入门案例,通过渐进式训练强化读者对基础知识的理解与应用。
第二部分:程序设计思想与综合运用(第5~7章)
本部分重点培养读者的编程思维和代码组织能力,引入函数式编程、文件操作和面向对象程序设计等现代编程范式。
第5章 函数:这是程序设计从“机械化”走向“抽象化”的关键。本章详细讲解函数基础知识、函数参数传递、变量作用域及特殊函数等概念,旨在培养读者模块化编程和代码复用的能力。
第6章 文件I/O:讲解文件基础知识、文件操作、数据组织的维度、Python标准库CSV模块等内容,以增强程序的健壮性与实用性。
第7章 面向对象程序设计:深入探讨类与对象的定义、对象的创建与使用、访问权限、继承与派生、多态等概念,引导读者运用面向对象思维进行程序设计和建模,提升代码的封装性和可扩展性。
本部分配套学生成绩分析与处理、动物园管理系统等综合案例,通过模块化训练帮助读者提升工程化实现能力。
第三部分:面向计算生态的综合应用(第8章)
本部分展示Python第三方库及其综合项目实战,旨在展现Python强大的生态优势。本书并未停留在理论介绍层面,而是设计了多个方向的实战项目,具体如下。
数值计算与数据分析:通过NumPy、Pandas库,实现真实数据集的处理和分析。
数据可视化:利用Matplotlib、Seaborn库,实现数据向直观图表的转化。
机器学习框架:介绍当前主流机器学习框架PyTorch,指导读者搭建简单的神经网络模型,帮助读者初探人工智能前沿领域。
Python爬虫:使用Requests、BeautifulSoup库,实现网络信息的抓取。
简单游戏开发:综合运用前述知识,结合碰撞检测方法,使用Pygame库开发趣味小游戏,以显著提升读者的学习成就感和学习兴趣。
本书为每个应用方向均提供领域实际案例,从环境配置到项目部署,为读者提供全流程实践指导。
本书通过三大部分的有序衔接,构建了从基础到应用、从理论到实践的完整学习路径。跨学科案例库的设计,使读者能够在各类专业场景中进行编程实践;模块化内容的设置,使读者能够灵活调整学习重点。这种结构设计既保证了知识体系的系统性,又赋予了学习的灵活性,能够有效适应不同专业背景学生的学习需求。
二、致读者:如何学习本书
亲爱的读者,无论您是高等院校计算机相关专业的学生,还是对编程充满兴趣的自学者,编者都希望您在使用本书时做到以下几点。
(1)循序渐进,勿好高骛远:请务必扎实掌握前五章的基础内容。编程能力的构建依托于坚实的知识地基,变量、循环、函数、列表等概念,将贯穿您整个编程学习与实践过程。
(2)动手实践,忌眼高手低:编程是一门“手艺活”,仅通过阅读而不实践,难以真正掌握。请务必亲自输入书中的每一个示例代码,并尝试修改、调试,甚至“搞破坏”——这一过程将使您获得最显著的学习成效。
(3)勤于思考,善于总结提炼:每学完一章,请合上书,尝试用自己的话复述其中的核心概念。完成习题时,应主动思考是否存在多种实现路径,以及何种方案更简洁高效。
(4)勇于探索,拓展知识边界:第8章的综合项目实战为您提供了多元探索方向。您可选择最感兴趣的领域深入钻研,并利用互联网上的丰富资源,持续拓展自身知识与技能边界。
三、编写历程与致谢
一本教材的诞生,绝非易事,它凝聚了编写团队大量的心血、无数日夜的潜心思考和反复打磨。从大纲的确定、内容的撰写、案例的选取、图表的绘制到代码的测试与校对,每一个环节我们都力求精益求精。我们时常为了一个概念的表述是否准确、一个案例是否贴切、一幅图表是否清晰而在教研室中深入研讨,也为了找到一个能激发学生兴趣的综合项目而反复斟酌。
本书是集体智慧的结晶,由江苏科技大学於跃成教授和宦婧老师担任主编。
於跃成教授凭借其多年的程序设计教学经验,确定了本书的撰写思路和总体结构,为本书的质量提供了至关重要的保障。
宦婧老师凭借多年的Python一线教学经验搭建了本书的主体框架,独立完成了第1章、第2章、第5章及第8章中数值计算、数据分析和Python爬虫模块的内容撰写,并统筹全书的统稿工作,确保了本书的逻辑连贯性和系统性。
本书的副主编为张遨老师、潘舒老师和严熙副教授,其中:张遨老师完成了第3章、第7章及第8章机器学习框架模块的内容撰写;潘舒老师完成了第4章及第8章数据可视化模块的内容撰写;严熙副教授完成了第6章及第8章简单游戏开发模块的内容撰写。
此外,本书的顺利完成也离不开教研室全体同事——华伟、王芳、王逊、石亮、范燕、王红梅、张天安、孔颉的支持与帮助。他们或参与资料收集,或参与内容讨论,或参与代码测试等环节,提供了无私的帮助,形成了良好的协作氛围。同时,编者亦要感谢家人的理解与支持,这是我们能够安心投入编写工作的最大动力。
由于编者水平有限,书中难免存在疏漏之处,恳请相关领域专家、学界老师等专业人士,以及广大读者朋友不吝赐教,提出宝贵意见,以便我们在再版时修订完善。
愿每一位读者都能在Python的世界中探索无限可能,享受编程带来的乐趣与创造力!
编 者
2025年9月
展开