Python程序设计:从基础开发到数据分析(微课版)/21世纪高等学校计算机类课程创新规划教材,由清华大学出版社在2019-05-01月出版发行,本书编译以及作者信息为: 夏敏捷,程传鹏,韩新超,宋宝卫 著,这是第1次发行, 国际标准书号为:9787302515326,品牌为清华大学出版社(TSINGHUA UNIVERSITY PRESS), 这本书采用平装开本为16开,纸张采为胶版纸,全书共有395页,字数62万7000字,值得推荐。
此书内容摘要
本书以Python 3.5为编程环境,从基本的程序设计思想入手,逐步展开Python语言教学,是一本面向广大编程学习者的程序设计类图书。基础篇主要讲解Python的语法基础、控制语句、函数与模块、文件、面向对象程序设计、Tkinter图形界面设计、数据库应用、网络编程和多线程等知识,并以小游戏案例作为各章的阶段性任务。开发篇综合应用前面介绍的技术,开发经典的大家耳熟能详的连连看、推箱子等游戏案例。提高篇介绍Python流行的第三方库,实现网页爬取、科学计算和可视化应用、图像处理,以及数据挖掘、机器学习和数据分析工具Pandas等。本书大的特色在于以游戏开发案例为导向,让学习枯燥的Python语言充满乐趣,在开发过程中,读者自然而然地学会这些枯燥的技术。书中不仅列出了完整的源代码,同时对所有的源代码都进行了非常详细的解释,做到了通俗易懂,图文并茂。
本书既可作为高等院校相关专业Python课程的教材,也可作为Python语言学习者、程序设计人员和游戏编程爱好者的参考用书。
关于此书作者
暂无.编辑们的推荐
暂无.Python程序设计:从基础开发到数据分析(微课版)/21世纪高等学校计算机类课程创新规划教材图书的目录
目录基础篇
第1章Python语言介绍
1.1Python语言简介
1.2安装与配置Python环境
1.2.1安装Python
1.2.2运行Python
1.3Python开发环境IDLE简介
1.3.1IDLE的启动
1.3.2利用IDLE创建Python程序
1.3.3IDLE常用编辑功能
1.3.4在IDLE中运行和调试Python程序
1.4Python基本输入输出
1.4.1Python基本输入
1.4.2Python基本输出
1.5Python代码规范
1.6使用帮助
1.7习题
第2章Python语法基础
2.1Python数据类型
2.1.1数值类型
2.1.2字符串
2.1.3布尔类型
2.1.4空值
2.1.5Python数字类型转换
2.2常量和变量
2.2.1变量
2.2.2常量
2.3运算符与表达式
2.3.1运算符
2.3.2表达式
2.4序列数据结构
2.4.1列表
2.4.2元组
2.4.3字典
2.4.4集合
2.5习题
第3章Python控制语句
3.1选择结构
3.1.1if语句
3.1.2if…else语句
3.1.3if…elif…else语句
3.1.4pass语句
3.2循环结构
3.2.1while语句
3.2.2for语句
3.2.3continue和break语句
3.2.4循环嵌套
3.2.5列表生成式
3.3常用算法及应用实例
3.3.1累加与累乘
3.3.2求最大数和最小数
3.3.3枚举法
3.3.4递推与迭代
3.4游戏初步——猜单词游戏
3.5习题
第4章Python函数与模块
4.1函数的定义和使用
4.1.1函数的定义
4.1.2函数的使用
4.1.3Lambda表达式
4.1.4函数的返回值
4.2函数参数
4.2.1函数形参和实参的区别
4.2.2参数的传递
4.2.3函数参数的类型
4.2.4变量的作用域
4.3闭包和函数的递归调用
4.3.1闭包
4.3.2函数的递归调用
4.4内置函数
4.4.1数学运算函数
4.4.2集合操作函数
4.4.3字符串函数
4.4.4反射函数
4.4.5I/O函数
4.5模块
4.5.1import导入模块
4.5.2定义自己的模块
4.5.3time模块
4.5.4calendar模块
4.5.5datetime模块
4.5.6random模块
4.5.7math模块和cmath模块
4.6游戏初步
4.7函数式编程
4.7.1高阶函数
4.7.2Python函数式编程常用的函数
4.7.3迭代器
4.7.4普通编程与函数式编程的对比
4.8习题
第5章Python文件的使用
5.1文件
5.2文件的访问
5.2.1打开(建立)文件
5.2.2读取文本文件
5.2.3写文本文件
5.2.4文件内移动
5.2.5文件的关闭
5.2.6二进制文件的读/写
5.3文件夹的操作
5.3.1当前工作目录
5.3.2目录操作
5.3.3文件操作
5.4文件应用案例——游戏地图存储
5.4.1地图写入文件
5.4.2从地图文件读取信息
5.5习题
第6章面向对象程序设计
6.1面向对象程序设计基础
6.2类和对象
6.2.1定义和使用类
6.2.2构造函数
6.2.3析构函数
6.2.4实例属性和类属性
6.2.5私有成员与公有成员
6.2.6方法
6.3类的继承和多态
6.3.1类的继承
6.3.2类的多继承
6.3.3方法重写
6.3.4多态
6.3.5运算符重载
6.4面向对象应用案例——扑克牌类设计
6.4.1关键技术——random模块
6.4.2程序设计的思路
6.5习题
第7章Tkinter图形界面设计
7.1Python图形开发库
7.1.1创建Windows窗口
7.1.2几何布局管理
7.2常用Tkinter组件的使用
7.2.1Tkinter组件
7.2.2标准属性
7.2.3Label组件
7.2.4Button组件
7.2.5单行文本框Entry和多行文本框Text
7.2.6列表框组件Listbox
7.2.7单选按钮Radiobutton和复选框Checkbutton
7.2.8菜单组件Menu
7.2.9对话框
7.2.10消息窗口
7.2.11Frame组件
7.2.12Scrollbar组件
7.3图形绘制
7.3.1Canvas组件
7.3.2Canvas上的图形对象
7.4Tkinter字体
7.4.1通过元组表示字体
7.4.2通过Font对象表示字体
7.5Python事件处理
7.5.1事件类型
7.5.2事件绑定
7.5.3事件处理函数
7.6图形界面程序设计的应用
7.6.1开发猜数字游戏
7.6.2扑克牌发牌程序窗体图形版
7.7习题
第8章Python数据库应用
8.1数据库基础
8.1.1数据库概念
8.1.2关系型数据库
8.1.3数据库和Python接口程序
8.2结构化查询语言SQL
8.2.1数据表的建立和删除
8.2.2查询语句SELECT
8.2.3添加记录语句INSERT INTO
8.2.4更新语句UPDATE
8.2.5删除记录语句DELETE
8.3SQLite数据库简介
8.3.1SQLite数据库
8.3.2SQLite3的数据类型
8.3.3SQLite3的函数
8.3.4SQLite3的模块
8.4Python的SQLite3数据库编程
8.4.1访问数据库的步骤
8.4.2创建数据库和表
8.4.3数据库的插入、更新和删除操作
8.4.4数据库表的查询操作
8.4.5数据库使用实例
8.5Python数据库应用案例——智力问答游戏
8.6习题
第9章网络编程和多线程
9.1网络编程基础
9.1.1TCP/IP
9.1.2IP
9.1.3TCP和UDP
9.1.4端口
9.1.5Socket
9.2TCP编程
9.2.1TCP客户端编程
9.2.2TCP服务器端编程
9.3UDP编程
9.4多线程编程
9.4.1进程和线程
9.4.2创建线程
9.4.3线程同步
9.4.4定时器Timer
9.5网络编程案例——网络五子棋游戏
9.5.1服务器端程序设计
9.5.2客户端程序设计
9.6习题
开发篇
第10章连连看游戏
10.1连连看游戏介绍
10.2程序设计的思路
10.3程序设计的步骤
第11章推箱子游戏
11.1推箱子游戏介绍
11.2程序设计的思路
11.3关键技术
11.4程序设计的步骤
提高篇
第12章基于Pygame游戏设计
12.1Pygame基础知识
12.2Pygame的使用
12.2.1Pygame开发游戏的主要流程
12.2.2Pygame的图像图形绘制
12.2.3Pygame的键盘和鼠标事件的处理
12.2.4Pygame的字体使用
12.2.5Pygame的声音播放
12.2.6Pygame的精灵使用
12.3基于Pygame设计贪吃蛇游戏
12.4基于Pygame设计飞机大战游戏
12.4.1游戏角色
12.4.2游戏界面显示
12.4.3游戏逻辑实现
12.5习题
第13章Python爬取网页信息
13.1相关HTTP知识
13.2urllib库
13.2.1urllib库简介
13.2.2urllib库的基本使用
13.3BeautifulSoup库
13.3.1BeautifulSoup库概述
13.3.2BeautifulSoup库的四大对象
13.3.3BeautifulSoup库操作解析文档树
13.4网络爬虫实战——Python爬取新浪国内新闻
13.5习题
第14章科学计算和可视化应用
14.1Numpy库的使用
14.1.1Numpy数组
14.1.2Numpy数组的算术运算
14.1.3Numpy数组的形状操作
14.1.4Numpy中矩阵对象
14.1.5文件存取数组内容
14.2Matplotlib绘图可视化
14.2.1Matplotlib.pyplot模块——快速绘图
14.2.2绘制条形图、饼状图、散点图
14.2.3交互式标注
14.3习题
第15章Python图像处理
15.1Python图像处理类库
15.2PIL的Image类的使用
15.2.1Image类的属性
15.2.2转换图像格式
15.2.3创建缩略图
15.2.4复制和粘贴图像区域
15.2.5调整尺寸和旋转
15.2.6转换成灰度图像
15.2.7对像素进行操作
15.3PIL的ImageFilter和ImageEnhance类的使用
15.3.1ImageFilter类
15.3.2ImageEnhance类
15.4PIL的ImageDraw类的使用
15.4.1ImageDraw类的基础知识
15.4.2ImageDraw类的方法
15.5用Python生成验证码图片
15.6习题
第16章数据挖掘和机器学习
16.1Python机器学习库sklearn的安装
16.2Python机器学习库sklearn的应用
16.2.1训练数据集——鸢尾花
16.2.2sklearn库的聚类
16.2.3sklearn库的分类
16.2.4sklearn库的回归
16.2.5鸢尾花相关的分类
16.3习题
第17章Python数据分析
17.1Pandas
17.1.1Series
17.1.2DataFrame
17.2Pandas统计功能
17.2.1基本统计
17.2.2分组统计
17.3Pandas合并/连接和排序
17.3.1合并/连接
17.3.2排序和排名
17.4Pandas筛选和过滤功能
17.4.1筛选
17.4.2按筛选条件进行汇总
17.4.3过滤
17.5Pandas数据导入导出
17.5.1导入CSV文件
17.5.2读取其他格式数据
17.5.3导出Excel文件
17.5.4导出CSV文件
17.6习题
参考文献
部分内容试读
前言Python语言自从20世纪90年代初诞生至今,逐渐被广泛应用于处理系统管理任务和科学计算,是最受欢迎的程序设计语言之一。
学习编程是工程专业学生教育的重要部分。除了直接的应用外,学习编程还是了解计算机科学本质的方法。计算机科学对现代社会产生了毋庸置疑的影响。Python是新兴程序设计语言,是一种解释型、面向对象、动态数据类型的高级程序设计语言。由于Python语言的简洁、易读以及可扩展性,在国外用Python做科学计算的研究机构日益增多。最近几年,随着社会需求的逐渐增加,许多高校纷纷开设Python教授程序设计课程。例如,卡内基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。
本书作者长期从事程序设计语言教学与应用开发,在长期的工作中,积累了丰富的经验,了解在学习编程的时候需要什么样的书、如何才能提高Python开发能力、如何以最少的时间投入得到最快的实际应用。
本书内容
基础篇包括第1~9章,主要讲解Python的基础知识、面向对象程序设计、Tkinter图形界面设计、数据库应用、网络编程和多线程等知识。每章最后都有应用本章知识点的游戏案例,如猜数字、扑克牌、网络五子棋等。
开发篇包括第10、11章,综合应用前面技术,开发经典的大家耳熟能详的游戏,如连连看、推箱子等,删去了第1版中部分其他游戏案例。
提高篇包括第12~17章,介绍Python最流行的第三方库,讲解网页爬取、科学计算和可视化应用、图像处理,以及数据挖掘、机器学习和数据分析工具Pandas等。
本书特点
(1) Python 程序设计涉及的范围非常广泛,本书内容编排并不求全、求深,而是考虑零基础读者的接受能力,语法介绍以够用、实用和应用为原则,选择Python 中必备、实用的知识进行讲解,强化程序思维能力的培养。
(2) 选取的游戏案例贴近生活,有助于提高学习兴趣。
(3) 开发篇中每款游戏案例均提供详细的设计思路、关键技术分析以及具体的解决方案。每一个游戏实例都是活的、实用的Python编程实例。
需要说明的是,学习编程是一个实践的过程,而不仅仅是看书、看资料的过程,亲自动手编写、调试程序才是至关重要的。通过实际的编程以及积极的思考,读者可以很快地积累并掌握许多宝贵的编程经验,这些编程经验对开发者尤其显得不可或缺。
本书由夏敏捷(中原工学院)主持编写,程传鹏编写了第3、5章,樊银亭(中原工学院)编写了第4章,宋宝卫(郑州轻工业学院)编写了第6~9章,韩新超(中原工学院)编写了第10、11章,郭永峰(河南牧业经济学院)编写了第12章,陈海蕊(中原工学院)编写了第13、14章,马瑞静(郑州轻工业大学)编写了第15~17章,其余章节由夏敏捷编写。
本书在编写过程中,为确保内容的正确性,参阅了很多资料,并且得到了中原工学院计算机学院郑秋生教授和资深Web程序员的支持,在此谨向他们表示衷心的感谢。本书的课件、教学大纲等资料可以在清华大学出版社网站本书页面下载。
本书源代码请扫描下方二维码获取。
源代码下载
本书配套视频请扫描书中对应位置二维码观看。
由于编者水平有限,书中难免有疏漏之处,敬请广大读者批评指正。
夏敏捷
2019年2月
关于此书评价
暂无.书摘内容
第3章Python控制语句
对于Python程序中的执行语句,默认是按照书写顺序依次执行的,这时称这样的语句是顺序结构的。但是,仅有顺序结构还是不够的,因为有时需要根据特定的情况,有选择地执行某些语句,这时就需要一种选择结构的语句。另外,有时还可以在给定条件下重复执行某些语句,这时称这些语句是循环结构的。有了这三种基本的结构,就能够构建任意复杂的程序了。
视频讲解
3.1选 择 结 构
三种基本程序结构中的选择结构,可用if语句、if…else语句和if…elif…else语句实现。
3.1.1if语句
Python的if语句的功能跟其他语言非常相似,都是用来判定给出的条件是否满足,然后根据判断的结果(即真或假)决定是否执行给出的操作。if语句是一种单选结构,它选择的是做或不做。它由三部分组成: 关键字if本身、测试条件真假的表达式(简称为条件表达式)和表达式结果为真(即表达式的值为非零)时要执行的代码。if语句的语法形式如下所示:
if 表达式:
语句1
图3��1if语句的流程图
if语句的流程图如图3��1所示。
if语句的表达式用于判断条件,可以用>(大于)、=(大于或等于)、<=(小于或等于)来表示其关系。
现在用一个示例程序来演示一下if语句的用法。程序很简单,只要用户输入一个整数,如果这个数字大于6,那么就输出一行字符串; 否则,直接退出程序。代码如下所示:
#比较输入的整数是否大于6
a = input("请输入一个整数: ")#取得一个字符串
a = int(a)#将字符串转换为整数
if a > 6:
print ( a, "大于6")
通常,每个程序都会有输入输出,这样可以与用户进行交互。用户输入一些信息,你会对他输入的内容进行一些适当的操作,然后再输出用户想要的结果。Python可以用input进行输入,用print进行输出,这些都是简单的控制台输入输出,复杂的有处理文件等。
3.1.2if…else语句
上面的if语句是一种单选结构,也就是说,如果条件为真(即表达式的值为非零),那么执行指定的操作; 否则就会跳过该操作。而if…else语句是一种双选结构,在两种备选行动中选择哪一个的问题。if…else语句由五部分组成: 关键字if、测试条件真假的表达式、表达式结果为真(即表达式的值为非零)时要执行的代码,以及关键字else和表达式结果为假(即表达式的值为零)时要执行的代码。if…else语句的语法形式如下所示:
if 表达式:
语句1
else:
语句2
图3��2if…else语句的流程图
if…else语句的流程图如图3��2所示。
下面对上面的示例程序进行修改,以演示if…else语句的使用方法。程序很简单,只要用户输入一个整数,如果这个数字大于6,那么就输出一行信息,指出输入的数字大于6; 否则,输出另一行字符串,指出输入的数字小于或等于6。代码如下所示:
a = input("请输入一个整数: ")#取得一个字符串
a = int(a)#将字符串转换为整数
if a > 6:
print ( a, "大于6")
else:
print ( a, "小于或等于6")
【例3��1】任意输入三个数字,按从小到大的顺序输出。
分析: 先将x与y比较,把较小者放入x中,较大者放入y中; 再将x与z比较,把较小者放入x中,较大者放入z中,此时x为三者中的最小者; 最后将y与z比较,把较小者放入y中,较大者放入z中,此时x、y、z已按由小到大的顺序排列。
x = input('x=')#输入x
y = input('y=')#输入y
z = input('z=') #输入z
if x > y:
x, y = y, x #x, y互换
if x > z:
x, z = z, x#x, z互换
if y > z:
y, z = z, y #y, z互换
print(x, y, z)
假如x、y、z分别输入1、4、3,以上代码输出结果:
x=1↙(输入x的值,↙表示回车)
y=4↙(输入y的值)
z=3↙(输入z的值)
1 3 4
其中“x, y = y, x”这种语句是同时赋值,将赋值号右侧的表达式依次赋给左侧的变量。例如,“x, y = 1, 4”就相当于“x=1; y=4”的效果,可见Python语法多么简洁。
……
Python程序设计:从基础开发到数据分析(微课版)/21世纪高等学校计算机类课程创新规划教材最新最全的试读、书评、目录、简介信息由个人博客整理提供。
本文地址:https://my.lmcjl.com/book/285
版权声明:个人博客原创文章,转载请注明出处和网址。
,欢迎加入。
本文链接:https://my.lmcjl.com/post/5081.html
4 评论