图书简介:
第1章 Python与程序设计概论 11.1 程序与程序设计的概念 11.1.1 程序的定义 11.1.2 程序的基本特征 11.1.3 程序设计的定义 11.1.4 程序设计的基本步骤 21.2 Python的发展历史与应用领域 21.2.1 Python的发展历程 21.2.2 Python的特点 31.2.3 Python的应用领域 31.3 Python开发环境的选择与安装 41.3.1 Python解释器与版本选择 41.3.2 常用开发环境 41.4 Anaconda的安装与JupyterLab的使用 41.4.1 Anaconda的安装与启动 51.4.2 在JupyterLab中编写与运行程序 61.5 注释与基本编码规范 71.5.1 单行注释与块注释 71.5.2 Python代码缩进规则 81.5.3 编码风格基础 81.5.4 编码规范的重要性与良好习惯 8习题1 9第2章 基本数据类型与顺序结构 102.1 变量与赋值 102.1.1 变量的概念 102.1.2 标识符的命名规则与规范 102.1.3 赋值语句与多重赋值 112.1.4 变量是对象的引用 122.2 基本数据类型 122.2.1 整数类型 132.2.2 浮点数类型 132.2.3 复数类型 142.2.4 布尔类型 142.2.5 字符串基础 152.3 类型转换与运算符优先级 162.3.1 显式类型转换 162.3.2 隐式类型转换 162.3.3 运算符优先级与括号的使用 172.4 表达式与语句 182.4.1 表达式及其求值 182.4.2 语句及其种类 192.4.3 表达式与语句的关系 202.5 输入与输出 202.5.1 print()的基本使用 202.5.2 input()的基本使用 212.5.3 综合练习:温度转换、BMI计算器 212.6 程序流程与顺序结构 222.6.1 三大程序结构概念 222.6.2 流程图简介与示例 232.6.3 综合练习:计算学生平均分 24习题2 24第3章 选择结构 263.1 条件判断与逻辑表达式 263.1.1 条件判断的基本概念 263.1.2 逻辑表达式的构造 263.1.3 短路求值 273.1.4 条件判断的常见模式与优先级规则 273.2 单分支if结构 283.2.1 if语句的语法与执行流程 283.2.2 单分支案例 293.3 二分支if-else结构 293.3.1 二分支的语法与执行流程 303.3.2 二分支案例 303.4 多分支if-elif-else结构 313.4.1 多分支的语法与执行流程 313.4.2 多分支案例 323.5 嵌套条件与可读性优化 333.5.1 嵌套条件的基本语法与应用 333.5.2 嵌套条件的可读性问题与改进策略 353.6 条件表达式 363.6.1 基本语法与应用 363.6.2 嵌套条件表达式 37习题3 37第4章 循环结构 394.1 while循环 394.1.1 while循环的语法与执行流程 394.1.2 while循环的常见模式 404.1.3 防止死循环的原则与输入防护 404.2 for循环与range() 414.2.1 for循环的语法与序列遍历 414.2.2 range()的参数含义与常见用法 424.3 循环控制语句 434.3.1 break语句的语法与应用 444.3.2 continue语句的语法与应用 454.3.3 循环的else子句的语法与应用 454.4 嵌套循环与复杂循环逻辑 464.4.1 嵌套循环 464.4.2 循环的优化原则 48习题4 49第5章 列表与元组 505.1 序列类型概述 505.1.1 序列的基本概念 505.1.2 可变序列与不可变序列 505.2 列表的创建 515.3 列表的基本操作 515.3.1 使用索引访问单个元素 515.3.2 使用切片访问子列表 525.3.3 列表的拼接与重复 535.4 列表的增删改查操作 535.4.1 增加元素 535.4.2 删除元素 545.4.3 修改元素与切片赋值 555.4.4 查询操作 565.5 列表的常用方法与聚合函数 565.5.1 排序与反转 565.5.2 聚合函数 585.6 列表的遍历与复制 585.6.1 列表的遍历 585.6.2 列表的复制 605.7 嵌套列表 615.7.1 创建嵌套列表 615.7.2 访问嵌套列表中的元素 615.7.3 修改嵌套列表中的元素 615.7.4 遍历嵌套列表 625.8 列表推导式 635.8.1 列表推导式的基本语法 635.8.2 带条件的列表推导式 645.8.3 带else的列表推导式 645.8.4 嵌套列表推导式 645.9 元组 655.9.1 元组的创建 655.9.2 元组的不可变性 665.9.3 元组的访问与遍历 665.9.4 元组与列表的比较 67习题5 67第6章 字符串 696.1 字符串的基本概念 696.2 字符串的创建、转义字符与原始字符串 706.2.1 字符串的创建 706.2.2 转义字符 706.2.3 原始字符串 716.3 字符串的基本操作 716.3.1 索引、切片与遍历 726.3.2 字符串的拼接与重复 726.4 字符串的常用方法 736.4.1 大小写转换方法 736.4.2 类别判断方法 736.4.3 查找与计数方法 746.4.4 清理与替换方法 746.4.5 拆分与拼接方法 756.4.6 对齐与填充方法 766.5 字符串格式化 766.5.1 字符串格式化的概念 766.5.2 f-string的基本用法 776.5.3 str.format()方法 786.5.4 传统%格式化简介 796.6 字符编码与字符集基础 806.6.1 字符与编码的基本概念 806.6.2 字符与编码值的转换 816.6.3 编码与解码 816.7 正则表达式基础 826.7.1 正则表达式基础概念 826.7.2 查找符合模式的子串 836.7.3 字符串的替换与拆分 84习题6 85第7章 字典 867.1 字典的基本概念 867.2 字典的创建 877.3 字典的基本操作 887.3.1 访问与取值 887.3.2 添加与修改元素 897.3.3 删除与清空元素 897.4 字典的视图对象与遍历 907.4.1 字典的视图对象 907.4.2 遍历字典内容 917.4.3 成员判断与遍历结合 927.5 字典的常用方法与函数 947.5.1 字典更新与合并 947.5.2 字典排序 957.5.3 字典复制 967.5.4 字典统计 977.6 字典的嵌套组合使用 987.6.1 嵌套字典的使用 997.6.2 字典与列表的组合使用 1007.6.3 嵌套数据的多层遍历 1017.7 字典推导式 1027.7.1 基本语法结构 1027.7.2 字典推导式应用示例 102习题7 104第8章 集合 1058.1 集合的基本概念 1058.2 集合的创建 1068.3 集合的基本操作 1078.3.1 添加与更新元素 1078.3.2 删除与清空元素 1088.3.3 成员判断 1098.3.4 集合的遍历 1098.3.5 示例:统计一段文本中不重复的单词数 1098.4 集合的数学运算 1108.4.1 并集 1108.4.2 交集 1118.4.3 差集 1118.4.4 对称差集 1118.4.5 子集与超集判断 1128.4.6 示例:学生选课统计分析 1128.5 集合的常用方法与内置函数 1138.5.1 集合复制 1138.5.2 集合的常用统计函数 1148.5.3 集合的等价比较 1148.5.4 集合的就地更新方法 1148.6 集合推导式 1158.6.1 集合推导式的语法 1158.6.2 集合推导式与列表推导式的对比 1168.6.3 示例:提取唯一元素 1168.7 集合与其他数据类型的转换 1168.7.1 列表与集合的相互转换 1178.7.2 元组与集合的转换 1178.7.3 字符串与集合的转换 1178.7.4 集合与字典键的关系 1188.7.5 示例:通过集合比较不同数据源 1188.8 不可变集合frozenset 1188.8.1 frozenset的特点 1198.8.2 创建与常用操作方法 1198.8.3 典型应用场景 120习题8 120第9章 函数 1229.1 函数的基本概念 1229.2 自定义函数 1229.2.1 函数的定义 1229.2.2 调用函数 1239.2.3 函数的基本组成与执行流程 1249.3 函数的参数 1259.3.1 形式参数与实际参数的概念 1259.3.2 参数传递机制 1269.3.3 参数的类型 1279.3.4 参数顺序与调用顺序 1289.3.5 序列与字典的解包传参 1299.4 函数的返回值 1299.4.1 return语句的语法与作用 1299.4.2 返回单个值与多个值 1309.4.3 无返回值函数 1319.4.4 提前结束函数执行 1319.5 变量作用域与命名空间 1329.5.1 局部变量与全局变量 1329.5.2 LEGB作用域查找规则 1339.5.3 global与nonlocal关键字 1339.5.4 命名空间与变量生命周期 1349.6 递归函数 1359.6.1 递归函数的基本概念 1359.6.2 递归函数的结构与执行过程 1369.6.3 常见递归示例 1379.7 匿名函数(Lambda表达式) 1389.7.1 Lambda表达式的语法格式与特点 1389.7.2 匿名函数的常见应用 1399.8 常用内置函数 1399.8.1 数学与统计函数 1399.8.2 类型转换与序列构造函数 1409.8.3 序列操作与迭代函数 1409.8.4 其他常用函数 1419.9 主程序入口 1429.9.1 __name__与主程序入口机制 1429.9.2 主程序入口结构 142习题9 144第10章 面向对象程序设计基础 14510.1 面向对象程序设计概述 14510.1.1 程序设计方法的发展 14510.1.2 类与对象的概念及关系 14510.1.3 对象的属性与方法 14610.2 定义类与创建对象 14610.2.1 定义类 14610.2.2 创建对象 14710.3 类成员 14710.3.1 属性 14710.3.2 方法 14910.3.3 self参数的作用 15110.4 封装与属性访问控制 15110.4.1 封装的基本概念与作用 15210.4.2 对象属性与方法访问权限 15210.4.3 使用方法访问与修改属性 15310.5 继承与代码复用 15510.5.1 继承的基本概念 15510.5.2 继承的基本语法 15610.5.3 方法重写 15710.5.4 使用super()调用父类方法 15710.6 多态与灵活的对象使用方式 15810.6.1 多态的基本概念 15810.6.2 Python中的多态实现 15810.7 特殊方法与运算符重载 16110.7.1 常见特殊方法简介 16110.7.2 初始化方法__init__ 16110.7.3 字符串方法__str__与 __repr__ 16210.7.4 对象的长度方法__len__ 16310.7.5 特殊方法的使用原则 16310.7.6 运算符重载 164习题10 165第11章 异常处理 16711.1 异常处理的基本概念 16711.1.1 错误与异常的区别 16711.1.2 异常的定义与意义 16711.1.3 Python异常体系结构 16811.2 使用try-except捕获和处理异常 16911.2.1 try-except的基本语法 16911.2.2 捕获多个异常类型 17011.2.3 捕获所有异常 17111.2.4 捕获异常信息 17211.2.5 使用else子句 17211.2.6 使用finally子句 17311.3 异常的传播机制 17311.3.1 异常在函数调用中的传播 过程 17411.3.2 调用栈与异常的逐层传递 17411.3.3 异常捕获的层级选择原则 17511.4 主动抛出异常 17611.4.1 主动抛出异常的作用 17611.4.2 raise语句的语法结构 17611.4.3 重新抛出异常 17711.4.4 在函数或方法中校验参数并 抛出异常 17711.5 自定义异常类 17911.5.1 自定义异常的用途 17911.5.2 自定义异常类的基本结构 17911.5.3 为异常类添加自定义信息或属性 180习题11 181第12章 文件操作 18312.1 文件与文件路径基础 18312.1.1 文件的作用与类型 18312.1.2 文件路径与目录结构 18312.1.3 文件编码基础 18412.1.4 文件操作的一般流程 18512.2 文件的打开与关闭 18512.2.1 使用open()函数打开文件 18512.2.2 文件对象的属性与方法 18612.2.3 打开文件时可能出现的异常 18712.2.4 使用close()方法关闭文件 18712.3 with语句与文件资源管理 18812.3.1 with语句的作用 18812.3.2 with语句的语法结构 18812.3.3 with语句与异常安全 18912.4 文件读取操作 19012.4.1 read()读取内容 19012.4.2 readline()按行读取 19012.4.3 readlines()读取所有行 19112.4.4 遍历文件 19112.5 文件写入操作 19212.5.1 write()写入文件 19212.5.2 writelines()写入多行 19212.5.3 文件读写中的指针定位 19312.6 文件和目录的操作 19512.6.1 os模块 19612.6.2 pathlib模块 19812.7 CSV文件处理 20112.7.1 CSV文件简介 20112.7.2 读取CSV文件 20112.7.3 写入CSV文件 20212.7.4 字典方式读写CSV文件 20312.8 JSON文件处理 20412.8.1 JSON简介 20412.8.2 使用json模块读写JSON文件 20512.8.3 JSON的常见用法 207习题12 208第13章 Python标准库与第三方库应用 20913.1 Python库的基本概念 20913.1.1 标准库与第三方库 20913.1.2 模块、包与库的概念 21013.1.3 查询标准库文档 21013.1.4 第三方库的安装与管理 21113.1.5 模块的导入 21213.2 数学、随机与时间库简介 21313.2.1 数学函数库 21313.2.2 随机数库 21513.2.3 时间库 21613.3 科学计算、数据分析与数据可视化库简介 21713.3.1 NumPy数值计算库简介 21713.3.2 Pandas数据处理库简介 21813.3.3 Matplotlib数据可视化库简介 21913.4 网络与网络请求库简介 22013.4.1 urllib库简介 22013.4.2 requests库简介 221习题13 222
展开
在数字化与智能化高速发展的时代背景下,Python以其简洁优雅的语法风格、丰富完善的生态体系和广泛的应用场景,已成为大学生最应掌握的基础编程语言之一。无论是在人工智能、数据分析、互联网应用开发,还是在科学计算、自动化处理等领域,Python都展现出强大而灵活的能力。对非计算机专业的学生而言,Python不仅是提升信息素养的重要工具,更是理解数字世界、开展数据驱动分析与解决实际问题的有效手段。本书内容覆盖高等院校对Python程序设计课程的主要教学要求,全书结构严谨、层次清晰、案例丰富,既注重基础知识的讲解,又强调工程实践能力的培养,旨在帮助学生循序渐进地形成完整的编程思维体系。本书主要特色1.坚持正确政治方向,强化课程思政建设本书深入贯彻党的教育方针,融入社会主义核心价值观,在案例与拓展阅读中自然体现职业精神、责任意识和价值引导,实现知识传授、能力培养与价值塑造的有机统一,帮助学生在学习技术的同时树立良好品德与职业素养。2.紧扣信息时代需求,服务人才培养目标本书立足高校信息素养建设与国家数字化转型需求,内容覆盖Python语言基础、数据结构、面向对象程序设计、异常处理,以及NumPy、Pandas、Matplotlib等科学计算与数据分析常用库,体系完整、衔接自然,为学生进入数据处理、自动化、科研计算与人工智能等领域奠定扎实基础。3.强化职业特色,校企协同编著本书契合高素质技术技能人才成长规律,精准锚定产业岗位用人标准,聚焦落实能力培养与技能进阶核心目标。本书由大学院校教学骨干教师与企业一线专家联合研发、策划、编著,充分彰显职业教育的实践属性,鲜明体现职业教育特色。4.结构严谨,层层递进全书共13章,从Python基础语法、流程控制,到函数、组合数据类型、异常处理、面向对象程序设计,再到文件操作、Python标准库和第三方库应用,逐步引导学生从“能看懂代码”到“能独立编写解决实际问题的程序”,构建循序渐进的知识体系。5.案例丰富,图文结合各章均设置典型案例,贴近课程教学需求,注重知识的实际应用。书中提供大量示例代码、流程图和运行结果截图,将抽象概念具象化;语言简明、逻辑清晰,尤其适合零基础或缺乏数学背景的学生,有助于降低入门难度,提高学习效率。每章配备选择题、编程题等多层次练习,可用于课堂教学、自主学习与课后巩固,促进学生全面提升编程能力。6.配套资源丰富,支持教学与自学本书配套有授课计划、电子课件、示例代码及习题参考答案等,可满足教师授课、线上教学和学生自主实践等多种教学场景需求。
适用读者本书可作为高校Python程序设计、计算思维基础、数据分析基础、人工智能导论等课程的教材,也适合作为广大Python初学者的学习参考。无论是理工类、经管类、文史类还是艺术类专业的学生,都可借助本书从零基础起步,逐步掌握Python编程的核心知识与实践方法。
学习建议(1)循序渐进,边学边练。编程学习应以实践为核心。建议读者在阅读示例代码时同步运行,通过修改代码、调试程序来加深理解。(2)多思考,多提问。对不理解的内容,应主动查阅资料或向教师、AI学习助手咨询,在不断思考与提问中提升分析和解决问题的能力。(3)关注实际应用。在掌握基础知识后,可尝试将所学应用于学习与生活,如整理数据、自动化处理文件或进行简单数据分析,真正实现从知识到能力的转化。
本书作者本书由烟台南山学院任美玲担任主编,南山电力总公司张日强、山东润泰水利工程有限公司刘瑞雪担任副主编。各章节编写分工如下:任美玲(第1~9章)、张日强(第10章)、刘瑞雪(第11~12章)、彭泽源(第13章13.1节)、韩建敏(第13章13.2节)、刘克纯(第13章13.3、13.4节)。书中部分案例原型源自企业一线实践。
致谢本书的完成离不开众多教育工作者、同事、学生与企业专家的支持,也得益于智能化工具(如ChatGPT、Google Gemini、豆包等)在资料查找、代码验证与语言校对方面的辅助。在此,谨向所有支持与帮助本书编写的单位与个人表示诚挚感谢。由于Python生态发展迅速,书中难免有不足之处,恳请广大读者批评指正,以便在后续版本中不断完善、推陈出新。
作 者
展开