教育>本科研究生>计算机类
Python程序设计

Python程序设计"

作者:唐大仕
ISBN:9787121398667
定价:¥79.0
字数:506千字
页数:288
出版时间:2020-12
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书详细介绍了Python 程序设计的基本环境、概念、方法和应用,特别是Python 在数据获取、数据处理、数据展示等方面的应用。本书分为三部分:第一部分(第1~ 4 章)是Python 语言的基础知识,包括数据与运算、语句与控制结构、组合数据类型;第二部分(第5 ~ 8 章)是Python 语言的高级部分,包括函数、常用的算法 、文件与异常、类与模块;第三部分(第9 ~12 章)是Python 的综合应用,包括文本处理、网络爬虫及API 调用、图表展示及综合应用、图形用户界面。本书内容详尽、循序渐进,既介绍语法,又讲解应用。本书提供了大量典型实例,特别是数字、文本、图形三方面的实例。所有的实例都配有二维码,读者扫码后可以打开一个界面,其中可以修改并测试程序,还能分步运行,以查看程序的运行流程和变量的变化。本书可作为高等学校各专业Python 程序设计课程的教材,也可作为全国等级考试二级Python 的参考书,还可作为计算机技术的培训教材和自学用书。

前言

前言 在这个大数据、人工智能技术迅速发展的时代,数据获取、数据处理、数据展示都是计算机、统计等相关学科中必要的任务。使用计算机和程序来处理数据已经是每个人都要具备的信息素养和基本技能。对于高校的学生,无论是理工科学生,还是文科学生,程序设计都是不可或缺的计算机基础课程。 Python 语言由于具有简捷性、易读性及可扩展性,所以适合作为程序设计的教学用语言,特别适用于零基础的程序设计学习。近几年,随着人工智能科学和数据科学的发展,Python 已经成为最受欢迎的程序设计语言之一。Python 在信息管理、数据处理、科学计算、机器学习、网络爬虫、自动化运维等领域有着广泛的用途。越来越多的国内外高校开始采用Python 来教授程序设计课程、计算机科学及编程导论课程。 编者在北京大学讲授多门程序设计语言,近几年也使用Python 进行程序设计的教学,十分清楚一本合适的教材有多重要。基于多年的教学经验和软件开发实践,编者在编写本书过程中力图处理好以下几种关系。 1.语法与应用 Python 的设计“哲学”是优雅、明确、简单。与C、C++ 等语言不同,Python 更注重语言的简捷和易用。学习一门语言最重要的目的是能将其用于自己的日常工作及学科研究。因此,本书不仅讲解语法,而且注重分析如何应用。本书基于数据获取、数据处理、数据展示这条主线,书中的实例和习题也都是围绕这条主线来设计的。 2.语言知识与编程思想 Python 中已经在底层实现了诸如排序、查找、哈希等基础算法,读者应注重的是如何利用这些基本的功能来实现自己的应用,此时编程思想就显得非常重要。因此,本书特别注重通用算法(如穷举、迭代、递归)的应用、计数和统计的应用,以及自顶向下、任务分解、代码重用的编程思想,这样有利于计算思维的培养。本书在列举函数或对象的方法时,并不照搬Python 手册,而是整理出其中常用的部分,强调读者应学会用help 及dir 进行查看,体现了“授人以鱼,不如授人以渔”的理念。 3.Python 的特殊性与一般语言的共性 Python 有很多特殊的语法,称为Pythonic,但读者更应注重程序设计语言的共性,如变量、运算、分支、循环、函数等。因此,本书并不过于注重Pythonic,但对特别常用、易于理解的特殊语法也不惜笔墨进行介绍,如交换两变量、关系不等式、列表推导式、魔术方法等。对某些语法知识的细节,本书则以“拓展”“小知识”“小提示”“注意”等小栏目的方式进行介绍,并不影响对主要知识点的学习。 4.抽象问题与具体应用 传统的程序设计课程过于强调抽象性,实例多偏向于数字题目的应用。本书的实例则尽量照顾数字、文本和图形三个方面。本书有大量有趣的实例,包括文章生成、密码加密、数据统计、网络爬虫、小说统计、函数绘图、图表展示等(可参见“例目录”),以满足不同专业读者学习的需要。 5.正确代码与错误代码 读者经常有这样的体会:看别人的代码很简单,而自己写代码则易犯各种错误。为此,本书专门讲解了程序中错误的种类和调试程序的方法。在很多实例中,都用各种小栏目指出该实例常见的错误,可以起到加深印象、启发思考的作用。 6.静态代码与动态运行 程序的运行过程是动态的,如循环的嵌套对初学者来说有一定的难度。为了帮助读者观察程序的运行过程,本书的每个实例都配有二维码,读者扫码后可以打开一个界面,其中可以修改代码并实际运行程序,观察参数或语句的改变对运行结果的影响。单击界面右上角的“转到流程演示”按钮,还可以分步运行,查看程序的运行流程和变量的变化。强烈建议读者试一试,以加深理解。 本书在内容安排上,分为三部分:第一部分(第1 ~ 4 章)是Python 语言的基础知识,包括数据与运算、语句与控制结构、组合数据类型;第二部分(第5 ~ 8 章)是Python 语言的高级部分,包括函数、常用的算法 、文件与异常、类与模块;第三部分(第9 ~ 12 章)是Python 的综合应用,包括文本处理、网络爬虫及API 调用、图表展示及综合应用、图形用户界面。 本书可作为高等学校各专业Python 程序设计课程的教材,也可作为全国等级考试二级Python 的参考书,还可作为计算机技术的培训教材和自学用书。本书适合64 学时的课堂教学。如果学时安排为48 学时,可以将第8 章(类与模块)及第12 章(图形用户界面)留给学生自学。在编写本书时,尽量做到这两章与其他各章相对独立,但全书仍形成一个体系。 本书提供了配套的电子资源,包括源代码、课件等,读者可在华信教育资源网(https://www.hxedu.com.cn)下载。

目录

目录 第1 章 Python 基础 ······················.1 1.1 Python 语言 ······························.1 1.1.1 程序设计语言 ··················.1 1.1.2 Python 语言的产生 ············.3 1.1.3 Python 语言的特点 ············.3 1.1.4 Python 语言的应用场景 ······.5 1.2 Python 的安装 ···························.6 1.2.1 下载 Python ·····················.6 1.2.2 安装 Python ·····················.7 1.3 Python 程序的书写与运行 ············.8 1.3.1 使用IDLE 交互式环境·······.8 1.3.2 程序文件的建立与运行 ······.9 1.4 简单的Python 程序 ····················.11 1.4.1  输入、处理、输出 (IPO) ···························.11 1.4.2 常见的语法要素 ···············12 1.5 其他集成开发工具 ······················16 1.5.1 Visual Studio Code·············16 1.5.2 PyCharm·························17 1.5.3 Anaconda ························17 本章小结 ········································19 习题1 ············································19 第2 章 数据与运算 ·······················20 2.1 变量与数据类型 ·························20 2.1.1 数据、常量与变量 ············20 2.1.2 基本数据类型 ··················20 2.1.3 类型的判断与转换 ············22 2.2 算术运算及数学函数 ···················23 2.2.1 运算符与表达式 ···············23 2.2.2 算术运算符 ·····················23 2.2.3 内置函数 ························25 2.2.4 math 模块中的数学函数 ·····27 2.3 关系运算及逻辑运算 ···················28 2.3.1 关系运算 ························28 2.3.2 逻辑运算 ························29 2.3.3 运算符的优先级与结合性 ···30 2.4 字符串运算及格式化 ···················31 2.4.1 字符串的常见运算 ············31 2.4.2 数据的显示与格式化 ·········32 本章小结 ········································34 习题2 ············································34 第3 章 语句与控制结构 ·················36 3.1 基本语句及顺序结构 ···················36 3.1.1 三种基本流程及流程图 ······36 3.1.2 简单语句 ························37 3.2 分支语句 ··································38 3.2.1 if 语句 ···························38 3.2.2 if 语句的嵌套 ··················40 3.2.3 elif 语句 ·························40 3.2.4  应用举例——自动出题 并判分 ···························42 3.3 循环语句 ··································44 3.3.1 for 循环语句 ····················44 3.3.2 while 循环语句 ················47 3.3.3  循环的五要素及153 检查法 ···························48 3.3.4 循环语句的嵌套 ···············49 3.4 循环语句的应用 ·························50 3.4.1 绘图 ······························50 3.4.2 数列求和 ························54 3.4.3 字符串加密 ·····················55 3.4.4 跳转语句 ························56 本章小结 ········································57 习题3 ············································57 第4 章 组合数据类型 ····················59 4.1 列表 ········································59 4.1.1 列表是一个序列 ···············59 4.1.2 列表的操作 ·····················60 4.1.3 列表的遍历 ·····················63 4.1.4 列表的方法 ·····················64 4.2 字典 ········································65 4.2.1 字典即映射 ·····················65 4.2.2 字典的操作 ·····················66 4.2.3 字典的遍历 ·····················68 4.2.4 字典的方法 ·····················68 4.3 元组与集合 ·······························69 4.3.1 元组 ······························69 4.3.2 集合 ······························71 4.3.3  列表、字典、元组、集合的 区别与转换 ·····················73 4.4 组合数据的应用 ·························76 4.4.1 列表在统计中的应用 ·········76 4.4.2 字典在统计中的应用 ·········77 4.4.3 蒙特卡罗法 ·····················78 本章小结 ········································82 习题4 ············································82 第5 章 函数 ································84 5.1 函数的定义与调用 ······················84 5.1.1 函数的概念 ·····················84 5.1.2 定义函数 ························85 5.1.3 任务分解与代码重用 ·········86 5.2 函数中的变量与参数传递 ·············91 5.2.1 函数调用的执行流程 ·········91 5.2.2 变量的生存期和作用域 ······93 5.2.3 参数的传递 ·····················94 5.3 函数的高级特性 ·························95 5.3.1 列表推导式 ·····················96 5.3.2 排序与lambda 表达式········97 5.3.3 映射、筛选及高阶函数 ······99 本章小结 ·····································.101 习题5 ·········································.101 第6 章 常用的算法 ·····················102 6.1 算法 ·····································.102 6.1.1 算法的概念 ··················.102 6.1.2 算法的判断标准及代价 ···.103 6.2 穷举算法 ·······························.106 6.3 迭代算法 ·································110 6.4 递归算法 ·································111 本章小结 ·······································116 习题6 ···········································117 第7 章 文件与异常 ····················.119 7.1 文件及其基本操作 ·····················119 7.1.1 文件路径及文件分类 ········119 7.1.2 文件的基本操作 ············.121 7.2 文本文件与二进制文件 ·············.123 7.2.1 文本文件的读写 ············.123 7.2.2 二进制文件的读写 ·········.126 7.2.3 文本文件的应用示例 ······.126 7.3 数据文件的应用 ······················.127 7.3.1 数据文件的读取及统计 ···.127 7.3.2 数据文件的查询及筛选 ···.128 7.3.3 数据文件的分类汇总 ······.129 7.4 目录操作及文件批量处理 ··········.130 7.4.1 文件及目录的基本操作 ···.131 7.4.2 目录遍历及文件批处理 ···.132 7.5 异常与程序的调试 ···················.134 7.5.1 程序错误的种类 ············.134 7.5.2 异常捕获处理 ···············.135 7.5.3  程序的调试:断点、跟踪、 监视 ···························.138 本章小结 ·····································.141 习题7 ·········································.142 第8 章 类与模块 ························143 8.1 类的定义及使用 ······················.143 8.1.1  对象是属性与方法的 封装 ···························.143 8.1.2 类的定义 ·····················.144 8.1.3 魔术方法 ·····················.147 8.1.4 继承 ···························.151 8.1.5  面向对象程序设计的三大 特点 ···························.152 8.2 模块及包 ·······························.153 8.2.1 模块 ···························.153 8.2.2 包 ······························.155 8.3 Python 标准库简介 ··················.157 8.3.1 数学、文本相关 ············.157 8.3.2 集合、统计、函数相关 ···.159 8.3.3 时间、系统、文件相关 ···.159 8.3.4 其他的“自带电池” ·······.161 8.4 第三方库简介 ·························.161 8.4.1 安装第三方库 ···············.162 8.4.2 使用第三方库 ···············.163 本章小结 ·····································.167 习题8 ·········································.167 第9 章 文本处理 ························168 9.1 字符串 ··································.168 9.1.1 字符串的运算 ···············.168 9.1.2 字符串的方法 ···············.170 9.2 正则表达式 ····························.173 9.2.1  正则表达式三要素:字符、 量词、位置 ··················.173 9.2.2 正则表达式的测试 ·········.176 9.2.3 查找 ···························.178 9.2.4 匹配、替换及分割 ·········.180 9.3 文本统计 ·······························.182 9.3.1  字母、单词、文字的 统计 ···························.182 9.3.2 N-Gram 的统计 ·············.183 9.4 自然语言处理 ·························.185 9.4.1 中文分词 ·····················.185 9.4.2 情感分析 ·····················.188 本章小结 ·····································.189 习题9 ·········································.190 第10 章 网络爬虫及API 调用 ·······191 10.1 网络信息获取 ·······················.191 10.1.1  网络信息获取的相关 概念 ·························.191 10.1.2 使用urlopen() 函数 ·······.194 10.1.3 使用requests 库 ···········.196 10.2 网络信息及内容解析 ··············.198 10.2.1 网络信息的种类 ··········.198 10.2.2  网页结构及HTML 标记 ·························.199 10.2.3  使用正则表达式处理 网页 ·························.202 10.2.4 使用bs4 解析网页 ········.202 10.3 网络爬虫 ·····························.206 10.3.1 通用的爬虫程序 ··········.206 10.3.2 专用的爬虫程序 ··········.208 10.4 API ······································211 10.4.1 JSON 数据 ···················211 10.4.2 调用API ····················.213 本章小结 ·····································.217 习题10 ········································.217 第11 章 图表展示及综合应用 ········219 11.1 Matplotlib ·····························.219 11.1.1 Matplotlib 基本使用 ······.219 11.1.2  折线图、散点图、柱状图、 饼图 ·························.222 11.1.3  绘制几何图形及函数 图像 ·························.226 11.2 ECharts ································.229 11.2.1 pyecharts 基本使用 ·······.229 11.2.2  柱状图、折线图、 饼图 ·························.230 11.2.3 地图 ·························.234 11.3  数据获取、处理、展示的综合 应用 ···································.237 11.3.1 《全宋词》词云 ············.237 11.3.2 财经数据显示 ·············.238 11.3.3  各地区好影片数量 分析 ·························.240 本章小结 ·····································.245 习题11 ········································.245 第12 章 图形用户界面 ·················246 12.1 Tkinter 图形用户界面 ··············.246 12.1.1 图形用户界面框架 ·······.246 12.1.2 组件 ·························.250 12.1.3 布局 ·························.252 12.1.4 事件 ·························.255 12.1.5 变量 ·························.257 12.2 Tkinter 应用 ··························.258 12.2.1 自动出题并判分 ··········.258 12.2.2 录入人员信息 ·············.262 12.2.3 背单词 ······················.264 12.2.4 显示建议词 ················.265 12.3 图像处理 ·····························.266 12.3.1  Image 模块及基本的图像 处理 ·························.267 12.3.2 图像过滤与增强 ··········.268 12.3.3 图像的像素点计算 ·······.270 12.4 PyInstaller 打包应用程序 ·········.273 本章小结 ·····································.274 习题12 ········································.274 参考文献·····································276

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0398660

www.luweidong.cn

下一个