计算机类教材 > 算法与程序设计
Python程序设计
书号:9787113270674 套系名称:普通高等学校计算机教育规划教材
作者:陈明 出版日期:2021-01-01
定价:68.00 页码 / 开本:384 /16
策划编辑:秦绪好 责任编辑:秦绪好
适用专业:计算机教材 适用层次:高职高专
最新印刷时间:
资源下载
教学课件
教学素材(暂无)
习题答案(暂无)
教学案例(暂无)
教学设计(暂无)
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
Python语言是一种面向对象的程序语言,具有易于学习、易于使用、易于维护、功能强大等一系列特点,在大数据与人工智能领域应用广泛。本书较系统地介绍了Python语言程序设计。主要内容包括概述、数据类型与表达式、程序流程控制、函数、面向对象编程、序列与列表、元组、字典、集合、字符串、异常与处理、日期与时间、文件处理、数据处理和数据可视化等。 本书注重基本方法和实际应用的介绍,实例丰富、语言精练、逻辑层次清晰,适合作为高校Python语言程序设计教材,也可以作为科技人员的参考用书。
虽然已出现几百种高级编程语言,但目前流行的仅有20余种,其中Python语言、C语言、C++语言和Java语言是当下最为流行的4种高级程序设计语言。 Python是一种跨平台、面向对象的动态型高级程序设计语言,最初设计用于编写自动化脚本(shell),之后由于版本的不断更新和新功能的添加,Python更多地用于独立大型项目的开发。 由于Python语言具有简洁性、易读性以及可扩展性,其用于科学计算日益增多,许多大学已经开设Python程序设计课程。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK等。而Python专用的科学计算扩展库就更多,例如十分经典的科学计算扩展库NumPy、SciPy、matplotlib和pandas,它们分别为Python提供了快速数组处理、数值运算、绘图以及数据处理功能。 Python在设计理念上坚持了清晰划一的风格,这使得Python成为一门易使用、易理解、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python的作者有意地设计限制性很强的语法,使得不好的编程习惯都不能通过编译。其中很重要的一项就是Python的缩进规则,这使得程序更加清晰和美观。 Python拥有一个强大的标准库。Python语言的核心包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。 Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能无所不包,覆盖科学计算、Web开发、数据库接口、图形系统多个领域,并且大多成熟而稳定。第三方模块可以使用Python或者C语言编写。SWIG、SIP常用于将C语言编写的程序库转换为Python模块。Boost C++ Libraries包含了一组库Boost.Python,使得以Python 或 C++ 编写的程序能互相调用。Python已成为一种强大的应用于其他语言与工具之间的胶水语言。 Python标准库的主要功能有以下几点: 文本处理:包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支 持、 二进制数据处理等功能。 文件处理:包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能。 操作系统功能:包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、书写日记等功能。 网络通信:包含网络套接字、SSL加密通信、异步网络通信等功能。 网络协议:支持HTTP、FTP、SMTP、POP、IMAP、NNTP、XMLRPC等多种网络协议,并提供了编写网络服务器的框架。 W3C格式支持:包含HTML、SGML、XML的处理。 其他功能:包括国际化支持、数学运算、HASH、Tkinter等。 自从20世纪90年代初Python语言诞生至今,经历了近30年的时间,其应用越来越广泛,主要应用领域有Web 和 Internet开发、科学计算和统计、人工智能、数据处理、桌面界面开发、软件开发、后端开发、网络爬虫等。 本书以教材的形式介绍和展现了Python语言的主要内容,重点介绍Python语言程序设计的方法,并结合科学计算、数据处理、信息安全和可视化等信息领域的应用实例构造了全书的架构。由于时间和水平有限,书中不足之处在所难免,恳请批评指正。 编 者 2020年8月
第 1 章 概述 1 1.1 程序设计语言概述 2 1.1.1 机器语言 2 1.1.2 汇编语言 3 1.1.3 高级语言 4 1.2 Python语言的特点与应用 6 1.2.1 Python语言的特点 6 1.2.2 Python语言主要版本 7 1.2.3 Python的应用场景 7 1.3 程序的设计与运行 8 1.3.1 规划程序 9 1.3.2 编写程序代码及注释 9 1.3.3 编译程序代码 9 1.3.4 执行程序 10 1.3.5 排错与测试 10 1.3.6 程序代码的整理与保存 10 1.4 Python开发环境部署 11 1.4.1 IDLE 11 1.4.2 Anaconda3 12 1.4.3 文本编辑 12 1.5 Python基础语法 14 1.5.1 一个简单的Python程序 14 1.5.2 Python程序的基本结构 15 1.5.3 基本语法规则 15 1.6 模块 17 1.6.1 Python模块概述 17 1.6.2 模块导入方法 18 1.7 字符编码 21 1.7.1 Unicode编码 21 1.7.2 编码转换 22 小结 23 习题 23 第 2 章 数据类型与表达式 24 2.1 基本数据类型 25 2.1.1 数值类型 25 2.1.2 字符串型 28 2.1.3 布尔型 28 2.1.4 空值 29 2.2 复合数据类型 29 2.2.1 集合 29 2.2.2 列表 29 2.2.3 元组 30 2.2.4 字典 30 2.3 变量与常量 30 2.3.1 变量 30 2.3.2 常量 32 2.4 运算符 33 2.4.1 算术运算符 33 2.4.2 比较运算符 34 2.4.3 赋值运算符 35 2.4.4 位运算符 35 2.4.5 逻辑运算符 36 2.4.6 成员运算符 36 2.4.7 身份运算符 37 2.5 表达式 38 2.5.1 表达式的组成 38 2.5.2 表达式的书写规则 38 2.5.3 运算符优先级 38 2.6 常用内置函数 39 2.6.1 数据类型转换 39 2.6.2 max()函数和sum()函数 42 2.6.3 sorted()函数 43 2.6.4 输入/输出 44 2.7 语句类型 46 2.7.1 简单语句类型 46 2.7.2 复合语句类型 47 小结 48 习题 48 第 3 章 程序流程控制 50 3.1 结构化程序设计 50 3.1.1 结构化程序设计方法 51 3.1.2 结构化程序设计的实施要素 51 3.1.3 结构化程序的基本结构 51 3.2 顺序程序 53 3.2.1 简单语句 53 3.2.2 顺序程序设计 57 3.3 分支程序 58 3.3.1 单分支程序 58 3.3.2 双分支程序 60 3.3.3 多分支结构 62 3.3.4 分支结构的嵌套 64 3.4 循环程序 65 3.4.1 while循环程序 65 3.4.2 for语句循环 68 3.4.3 跳出循环 70 3.4.4 循环中的else子句 72 3.5 复合语句及其缩进书写规则 73 3.5.1 复合语句 73 3.5.2 缩进规则 74 3.6 流程控制程序案例 74 小结 76 习题 76 第 4 章 函数 77 4.1 Python函数概述 78 4.1.1 函数的作用 78 4.1.2 内置函数的调用 78 4.2 自定义函数的定义与调用 79 4.2.1 自定义函数的语法格式 79 4.2.2 自定义函数调用 79 4.2.3 函数变量作用域 81 4.3 函数参数 83 4.3.1 位置参数 83 4.3.2 关键参数 84 4.3.3 默认参数 85 4.3.4 可变参数 86 4.3.5 解包参数 89 4.3.6 组合参数 90 4.4 返回函数 90 4.4.1 返回None值 90 4.4.2 程序举例 91 4.5 递归函数 92 4.5.1 递归的基本概念 92 4.5.2 递归函数应用举例 93 4.6 匿名函数 94 4.6.1 语法格式 94 4.6.2 匿名函数的使用 94 4.7 偏函数 95 4.7.1 问题的提出 95 4.7.2 偏函数的定义与应用 96 4.8 自定义模块与包 97 4.8.1 自定义模块 97 4.8.2 包 97 4.8.3 安装扩展库 101 4.9 函数程序案例 102 小结 104 习题 104 第 5 章 面向对象编程 106 5.1 程序设计重要里程碑 107 5.1.1 面向过程编程 107 5.1.2 面向对象编程 107 5.1.3 面向对象程序的基本特性 109 5.2 Python类 109 5.2.1 类的定义 109 5.2.2 创建对象 110 5.2.3 属性 110 5.2.4 方法 114 5.2.5 方法重载 114 5.3 对象方法 115 5.3.1 对象方法定义 115 5.3.2 对象的调用 115 5.4 构造方法与析构方法 116 5.4.1 构造方法的语法格式 116 5.4.2 析构方法 118 5.5 私有方法 119 5.5.1 在类中私有属性与方法的定义 119 5.5.2 类的私有属性不可在类外使用 119 5.5.3 类的私有方法不可在类外使用 120 5.6 静态方法与类方法 121 5.6.1 装饰器 121 5.6.2 静态方法的定义与调用 122 5.6.3 类方法的定义与调用 124 5.6.4 静态方法与类方法的区别 124 5.7 类的继承、多态和封装 125 5.7.1 类继承 125 5.7.2 多态 130 5.7.3 封装 132 5.8 获取对象信息的方法 133 5.8.1 type()函数 133 5.8.2 isinstance()函数 134 5.8.3 内置函数dir() 134 5.9 面向对象程序案例 136 小结 138 习题 138 第 6 章 序列与列表 140 6.1 序列 141 6.1.1 索引 141 6.1.2 分片 141 6.1.3 序列相加 143 6.1.4 乘法 143 6.1.5 序列成员检测 144 6.1.6 长度、最小值和最大值 144 6.1.7 序列排序 145 6.2 列表 146 6.2.1 创建与删除 146 6.2.2 列表元素赋值 146 6.2.3 增加列表的元素 147 6.2.4 访问列表中的元素 147 6.2.5 删除列表中的元素 147 6.2.6 分片赋值 148 6.2.7 嵌套列表 148 6.2.8 列表操作符 148 6.2.9 列表的内置函数 150 6.2.10 列表的常用方法 150 6.2.11 二维列表 153 6.3 列表遍历与排序 154 6.3.1 列表遍历方法 154 6.3.2 列表排序方法 155 6.4 列表程序案例 158 小结 161 习题 161 第 7 章 元 组 164 7.1 元组的创建与删除 165 7.1.1 元组的创建 165 7.1.2 删除元组 167 7.1.3 访问元组 167 7.2 元组的基本操作 168 7.2.1 常用的元组运算符 168 7.2.2 合并元组 169 7.2.3 重复元组 169 7.2.4 元组切片 170 7.3 元组内置函数与方法 170 7.3.1内置函数 170 7.3.2 元组方法 172 7.4 元组遍历 173 7.4.1 for in 173 7.4.2 enumerate()函数 173 7.4.3 iter()函数与返回迭代器 174 7.5 元组与列表的比较与转换 174 7.5.1 元组与列表的比较 174 7.5.2 元组的优势与转换 175 7.6 元组程序案例 176 小结 177 习题 177 第 8 章 字典 178 8.1 字典创建与特点 178 8.1.1 字典语法格式与特点 179 8.1.2 创建字典 180 8.1.3 可哈希键 182 8.2 字典的基本操作 183 8.2.1 字典访问 183 8.2.2 字典修改 184 8.2.3 清空字典 184 8.2.4 删除字典 184 8.3 字典函数与方法 184 8.3.1 字典函数 185 8.3.2 字典方法 185 8.4 字典的遍历与排序 191 8.4.1 字典遍历 192 8.4.2 字典排序 192 8.5 字典与列表、元组的转换 193 8.5.1 字典与列表的转换 193 8.5.2 字典到元组的转换 194 8.6 字典程序案例 194 小结 197 习题 197 第 9 章 集合 198 9.1 集合数据类型与分类 198 9.1.1 集合数据类型 198 9.1.2 集合分类 199 9.2 集合创建与访问 201 9.2.1 集合创建 201 9.2.2 集合访问 202 9.2.3 集合元素更新 203 9.2.4 删除集合本身 204 9.3 集合运算 204 9.3.1 标准类型操作符 204 9.3.2 集合类型操作符 206 9.3.3 可变集合类型的操作符 206 9.3.4 集合遍历 207 9.4 集合方法与内置函数 208 9.4.1 集合的方法 208 9.4.2 集合的内置函数 211 9.4.3 列表、元组、集合、字典的比较 211 9.5 集合程序案例 211 小结 213 习题 213 第 10 章 字符串 215 10.1 字符串的基本操作 216 10.1.1 字符串的创建 216 10.1.2 字符串的切片 216 10.1.3 字符串替换 217 10.1.4 字符串查找 217 10.1.5 字符串分割 218 10.1.6 字符串修改 218 10.1.7 字符串输出 218 10.2 字符串运算 219 10.2.1 字符串连接 219 10.2.2重复输出字符串 220 10.2.3 成员运算 220 10.2.4R(r)运算符 220 10.3 字符串格式化 221 10.3.1 字符串的转义字符 221 10.3.2 字符串格式化符号 222 10.3.3 使用format进行字符格式化 226 10.4 字符串方法 227 10.4.1 字符串常用方法 227 10.4.2 字符串方法集 229 10.5 字符串程序案例 231 小结 235 习题 235 第 11 章 异常与处理 237 11.1 异常 237 11.1.1 异常的概念 237 11.1.2 Python程序的错误分类 238 11.1.3 Python的标准异常 239 11.1.4 Python常见异常 240 11.2 捕获异常 241 11.2.1 try/except语句 242 11.2.2 获取异常提示信息 243 11.2.3 try/finally 语句 246 11.2.4 异常的参数 248 11.3 抛出异常 248 11.3.1 raise语句 248 11.3.2 assert语句 252 11.4 用户自定义异常 253 11.4.1 基于Exception类自定义异常 253 11.4.2 基于RuntimeError类自定义 异常 254 11.5 with语句处理异常 255 11.5.1 with语句 255 11.5.2 上下文管理器的自定义 257 11.6 异常与处理程序案例 257 小结 259 习题 259 第 12 章 日期与时间 261 12.1 Python时间 261 12.1.1 时间戳 261 12.1.2 格式化的时间字符串 262 12.1.3 结构化的时间元组 263 12.2 time模块 264 12.2.1 time模块简介 264 12.2.2 time模块中常用函数 264 12.2.3 三种时间格式转换 267 12.3 datetime模块 270 12.4 calendar模块 273 12.4.1 calendar模块的常用函数 273 12.4.2 calendar模块应用举例 275 12.5 日期与时间程序案例 277 小结 280 习题 280 第 13 章 文件处理 281 13.1 文件及其分类 282 13.1.1 文件 282 13.1.2 文件类型 282 13.2 文件的打开与关闭 283 13.2.1 打开文件 283 13.2.2 关闭文件 286 13.3 文件的读与写 288 13.3.1 文件的读取 288 13.3.2 文件的写入 290 13.4 文件的读写位置 292 13.4.1 seek()方法 292 13.4.2 tell()方法 293 13.5 文件的方法与属性 294 13.5.1 内置方法 295 13.5.2 内置属性 296 13.6 文件遍历 296 13.6.1 基于read()方法的文件遍历 296 13.6.2 基于readline()方法的文件遍历 297 13.6.3 基于readlines()方法的文件遍历 297 13.6.4 文件迭代器 297 13.7 os模块与文件访问 299 13.7.1 删除文件 299 13.7.2 文件备份 300 13.7.3 文件重命名 300 13.7.4 创建文件夹 301 13.7.5 删除文件夹 301 13.7.6 获取当前目录 302 13.7.7 更改默认目录 302 13.7.8 获取目录列表 302 13.8 结构化数据的使用 302 13.8.1 JSON数据格式 302 13.8.2 pickle模块 303 13.9 csv文件的读取和写入 305 13.9.1 使用csv.reader对象完成csv 文件的读取 305 13.9.2 使用csv.writer对象完成csv 文件的写入 306 13.9.3 使用csv.DictReader对象完成 csv文件的读取 307 13.9.4 使用csv.DictWriter对象完成csv 文件的写入 308 13.10 文件处理程序案例 308 小结 310 习题 310 第 14 章 数据处理 311 14.1 NumPy 311 14.1.1 ndarray对象的常用属性 312 14.1.2 ndarray的创建 313 14.1.3 NumPy数组类型转换 317 14.1.4 数组输出 317 14.1.5 数组运算 317 14.2 Pandas数据结构 321 14.2.1 Series 321 14.2.2 DataFrame 324 14.3 Pandas的索引操作 326 14.3.1 重置索引 326 14.3.2 索引操作 328 14.3.3 数据抽取 329 14.4 数据排序 331 14.4.1 按索引排序 331 14.4.2 按值排序 332 14.5 数据预处理 333 14.5.1 数据清洗 333 14.5.2 重复值清洗 337 14.5.3 异常值处理 339 14.5.4 数据转换 342 14.5.5 数据分组 345 14.6 数据处理程序案例 347 小结 349 习题 349 第 15 章 数据可视化 351 15.1 数据可视化简介 351 15.1.1 数据可视化概念 351 15.1.2 常用的图表类型 352 15.2 matplotlib简介 355 15.2.1 图形 356 15.2.2 多图形和多坐标系 358 15.2.3 创建子图 358 15.3 绘制图形 359 15.3.1 折线绘制 359 15.3.2 散点图绘制 361 15.3.3 泡泡图绘制 362 15.3.4 条形图绘制 364 15.3.5 直方图绘制 366 15.3.6 饼图绘制 368 15.3.7 雷达图绘制 371 15.4 数据可视化程序案例 372 小结 372 习题 372 参考文献 374
陈明,中国石油大学
Python语言是一种面向对象的程序语言,具有易于学习、易于使用、易于维护、功能强大等一系列特点,在大数据与人工智能领域应用广泛。本书较系统地介绍了Python语言程序设计。主要内容包括概述、数据类型与表达式、程序流程控制、函数、面向对象编程、序列与列表、元组、字典、集合、字符串、异常与处理、日期与时间、文件处理、数据处理和数据可视化等。 本书注重基本方法和实际应用的介绍,实例丰富、语言精练、逻辑层次清晰,适合作为高校Python语言程序设计教材,也可以作为科技人员的参考用书。