新書推薦:
《
历史的严妆:解读道学阴影下的南宋史学(中华学术·有道)
》
售價:HK$
109.8
《
海外中国研究·江南:中国文雅的源流
》
售價:HK$
76.2
《
迟缓的巨人:“大而不能倒”的反思与人性化转向
》
售價:HK$
77.3
《
我们去往何方:身体、身份和个人价值
》
售價:HK$
67.0
《
大学问·批判的武器:罗莎·卢森堡与同时代思想者的论争
》
售價:HK$
98.6
《
低薪困境:剖析日本经济低迷的根本原因
》
售價:HK$
66.1
《
穷人的银行家(诺贝尔和平奖获得者穆罕默德·尤努斯自传)
》
售價:HK$
76.2
《
绵延:文明分野与文化演进
》
售價:HK$
66.1
|
編輯推薦: |
本书共14个项目,主要包括Python编程基础、网络爬虫、数据分析和数据可视化四大部分内容。
全部代码适用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
免费提供教学PPT、源代码、教学大纲、习题答案等全套教学资源。
|
內容簡介: |
本书系统介绍Python基础知识以及数据采集、分析、可视化的流程与应用,实例丰富,实战性强。全书共14个项目,其中前10个项目以Python基础知识的理解和应用为主,项目11至14分别讲解网络爬虫以及numpy、pandas和matplotlib的应用。书中全部代码适用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
本书可以作为本科、专科、高职院校非计算机专业程序设计课程用教材,也可作为计算机专业程序设计基础课程用教材,还可作为Python爱好者的自学用书。
本书配有教学资源(包括PPT、源代码、大纲、习题答案),需要的教师可登录www.cmpedu.com免费注册,审核通过后下载,或联系编辑索取(QQ:1239258369,电话:010-88379739)。
|
關於作者: |
董付国副教授,知名Python教育者。拥有多年Python教学和开发经验,先后出版《Python程序设计》、《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》、《Python程序设计开发宝典》、《中学生可以这样学Python》等系列教材。开发过多套涉及不同领域的管理系统,在国内外高水平学术期刊与会议上发表论文40余篇,其中近30篇被EI检索。
|
目錄:
|
目录
前言
项目1认识Python1
1.1任务1了解Python语言和版本1
1.2任务2安装与配置Python开发环境2
1.2.1IDLE2
1.2.2Anaconda 33
1.2.3PyCharm5
1.3任务3了解Python编程规范7
1.4任务4安装扩展库7
1.5任务5导入与使用标准库与扩展库中的对象8
1.5.1import 模块名 [as 别名]9
1.5.2from 模块名 import 对象名 [ as 别名]9
1.5.3from 模块名 import *10
习题10
项目2使用内置对象和运算符11
2.1任务1认识Python常用内置对象11
2.1.1常量与变量12
2.1.2数字类型13
2.1.3字符串14
2.1.4列表、元组、字典、集合15
2.2任务2使用Python运算符与表达式15
2.2.1算术运算符16
2.2.2关系运算符17
2.2.3成员测试运算符18
2.2.4集合运算符18
2.2.5逻辑运算符18
2.2.6补充说明19
2.3任务3使用Python内置函数19
2.3.1类型转换与判断21
2.3.2最值与求和23
2.3.3基本输入输出24
2.3.4排序与逆序25
2.3.5枚举与迭代25
2.3.6map函数、reduce函数、filter函数26
2.3.7range函数28
2.3.8zip函数28
2.4任务4了解Python关键字29
习题30
项目3使用Python序列结构32
3.1任务1了解Python序列32
3.2任务2使用列表33
3.2.1列表创建与删除33
3.2.2列表元素访问34
3.2.3列表常用方法34
3.2.4列表对象支持的运算符36
3.2.5内置函数对列表的操作37
3.2.6列表推导式37
3.2.7切片40
3.3任务3使用元组与生成器表达式40
3.3.1元组创建与元素访问40
3.3.2元组与列表的异同点41
3.3.3生成器表达式41
3.4任务4使用字典42
3.4.1字典的创建与删除43
3.4.2字典元素的访问43
3.4.3元素的添加、修改与删除44
3.4.4字典应用案例45
3.5任务5使用集合46
3.5.1集合对象的创建与删除46
3.5.2集合的操作与运算47
3.5.3集合应用案例48
3.6任务6理解序列解包51
习题53
项目4使用程序控制结构54
4.1任务1理解条件表达式54
4.2任务2使用选择结构56
4.2.1单分支选择结构56
4.2.2双分支选择结构57
4.2.3多分支选择结构58
4.2.4选择结构的嵌套59
4.3任务3使用循环结构59
4.3.1for循环与while循环59
4.3.2break与continue语句60
4.4任务4了解异常处理结构语法61
4.5任务5综合应用62
习题67
项目5设计和使用自定义函数69
5.1任务1定义与调用函数69
5.1.1基本语法69
5.1.2递归函数70
5.2任务2理解函数参数71
5.2.1位置参数71
5.2.2默认值参数71
5.2.3关键参数72
5.2.4可变长度参数72
5.2.5传递参数时的序列解包73
5.3任务3理解变量作用域74
5.4任务4理解lambda表达式75
5.5任务5理解生成器函数76
5.6任务6综合应用77
习题86
项目6面向对象程序设计基础88
6.1任务1定义与使用类88
6.2任务2理解数据成员与成员方法89
6.2.1私有成员与公有成员89
6.2.2数据成员90
6.2.3成员方法90
6.2.4属性92
6.3任务3理解和使用继承94
6.4任务4理解特殊方法工作原理96
6.5任务5综合应用98
习题105
项目7使用字符串106
7.1任务1认识字符串106
7.1.1字符串编码格式106
7.1.2转义字符与原始字符串107
7.2任务2字符串格式化109
7.2.1使用%符号进行格式化109
7.2.2使用format方法进行字符串格式化110
7.2.3格式化的字符串常量111
7.3任务3字符串常用方法与操作111
7.3.1find、rfind、index、rindex、count111
7.3.2split、rsplit112
7.3.3join113
7.3.4lower、upper、capitalize、title、swapcase113
7.3.5replace、maketrans、translate114
7.3.6strip、rstrip、lstrip115
7.3.7startswith、endswith115
7.3.8isalnum、isalpha、isdigit、isspace、isupper、islower115
7.3.9center、ljust、rjust116
7.3.10字符串支持的运算符116
7.3.11适用于字符串的内置函数117
7.3.12字符串切片118
7.4任务4使用字符串常量118
7.5任务5中英文分词119
7.6任务6汉字到拼音的转换120
7.7任务7综合应用120
习题122
项目8使用正则表达式124
8.1任务1理解正则表达式语法124
8.2任务2使用正则表达式模块re126
8.3任务3综合应用128
习题131
项目9读写文件内容132
9.1任务1了解文件的概念及分类132
9.2任务2了解文件操作基本知识132
9.2.1内置函数open133
9.2.2文件对象常用方法134
9.2.3上下文管理语句with134
9.3任务3文本文件内容操作134
9.4任务4Excel与Word文件操作136
习题145
项目10文件与文件夹操作147
10.1任务1使用os模块147
10.2任务2使用os.path模块149
10.3任务3使用shutil模块150
10.4任务4综合应用151
习题154
项目11网络爬虫入门与应用156
11.1任务1了解HTML与JavaScript156
11.1.1HTML基础156
11.1.2JavaScript基础158
11.2任务2使用urllib编写爬虫程序160
11.2.1urllib的基本应用161
11.2.2urllib爬虫案例162
11.3任务3使用scrapy编写爬虫程序164
11.4任务4了解BeautifulSoup基本用法169
11.5任务5使用requests编写爬虫程序174
11.5.1requests基本操作175
11.5.2requests爬虫案例176
11.6任务6使用selenium编写爬虫程序177
习题181
项目12使用numpy实现数组与矩阵运算182
12.1任务1掌握数组常用操作182
12.2任务2矩阵运算与常用操作192
习题195
项目13使用pandas分析与处理数据197
13.1任务1了解pandas常用操作197
13.2任务2pandas结合matplotlib进行数据可视化212
13.3任务3pandas应用案例216
习题223
项目14使用matplotlib进行数据可视化225
14.1任务1认识matplotlib225
14.2任务2绘制带有中文标题、标签和图例的折线图225
14.3任务3绘制散点图227
14.4任务4绘制饼状图231
14.5任务5绘制柱状图232
14.6任务6绘制雷达图234
14.7任务7绘制三维图形235
14.8任务8切分绘图区域239
14.9任务9设置图例240
14.10任务10设置坐标轴刻度距离和文本242
习题243
参考文献245
|
內容試閱:
|
Python语言由Guido van Rossum于1991年推出了第一个公开发行版本,之后迅速得到了各行业人士的青睐。经过20多年的发展,Python语言已经渗透到统计分析、移动终端开发、科学计算可视化、系统安全、逆向工程、软件测试与软件分析、图形图像处理、人工智能、机器学习、深度学习等几乎所有专业和领域,在黑客领域更是多年来一直拥有霸主地位。与此同时,Python语言在各大编程语言排行榜上的位次也是逐年上升的,被TIOBE网站评为2010年年度语言;在IEEE Spectrum 2017 编程语言排行榜上名列榜首。
Python是一门免费、开源、跨平台的高级动态编程语言,支持命令式编程、函数式编程,完全支持面向对象程序设计,拥有大量功能强大的内置对象、标准库,以及涉及各行业领域的扩展库,使得各领域的工程师、科研人员、策划人员和管理人员能够快速实现和验证自己的思路、创意或者推测,还有更多人喜欢用Python写个小脚本来完成自己工作中的一些小任务。在有些编程语言中需要编写大量代码才能实现的功能,在Python中只需要几行代码,大幅度减少了代码量,更加容易维护。Python用户只需要把主要精力放在业务逻辑的设计与实现上,在开发速度和运行效率之间达到了完美的平衡,其精妙之处令人击节赞叹。
一个好的Python程序不仅是正确的,更是简洁、直观、漂亮、优雅、方便人们阅读的,整个代码处处体现着美,让人赏心悦目。Python代码对布局要求非常严格,尤其是使用缩进来体现代码的逻辑关系,这一点硬性要求非常有利于学习者和程序员养成一个良好、严谨的习惯。除了能够快速解决问题之外,代码布局要求严格也是Python被广泛选作教学语言的重要原因。
早在多年前Python就已经成为卡耐基梅隆大学、麻省理工学院、加州大学伯克利分校、哈佛大学、多伦多大学等国外很多大学计算机专业或非计算机专业的程序设计入门教学语言。近几年来国内有几百所高等院校的多个专业陆续开设了Python程序设计有关课程,并且这个数量还在持续快速增加。目前来看,选择使用Python作为程序设计入门教学语言或者作为各专业扩展课程,无疑是一个非常明智的选择。
内容组织与阅读建议
本书共14个项目和若干子任务,主要包括Python编程基础、网络爬虫、数据分析和数据可视化这四大部分内容,全部代码适用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
项目1认识Python。简单介绍Python语言与版本、安装与配置Python开发环境、Python编码规范、扩展库安装方法以及标准库对象与扩展库对象的导入。
项目2使用内置对象和运算符。讲解Python常用内置对象、运算符与表达式、常用内置函数、Python关键字。
项目3使用Python序列结构。讲解序列、列表、元组与生成器表达式、字典、集合、序列解包。
项目4使用程序控制结构。讲解条件表达式的常见形式,单分支、双分支、多分支选择结构以及嵌套的选择结构;循环结构,包括for循环与while循环,break与continue语句;以及异常处理结构。
项目5设计和使用自定义函数。讲解函数定义与调用语法、不同类型的函数参数、参数传递的序列解包、变量作用域、lambda表达式、生成器函数。
项目6面向对象程序设计基础。讲解类的定义与使用、数据成员与成员方法、属性和继承、特殊方法。
项目7使用字符串。讲解字符串编码格式、转义字符与原始字符串、字符串格式化的不同形式、字符串常用方法、字符串常量、中英文分词、汉字到拼音的转换。
项目8使用正则表达式。讲解正则表达式语法、正则表达式模块re的用法。
项目9读写文件内容。讲解文件操作基本知识、文本文件内容操作以及Excel与Word等常见类型文件的操作。
项目10文件与文件夹操作。讲解os、os.path与shutil这3个模块的用法,以及递归遍历文件夹和按广度优先遍历文件夹的原理。
项目11网络爬虫入门与应用。讲解HTML、JavaScript基础以及urllib、scrapy、BeautifulSoup、requests、selenium在网络爬虫程序中的应用。
项目12使用numpy实现数组与矩阵运算。讲解numpy的数组和矩阵运算。
项目13使用pandas分析与处理数据。讲解pandas常用操作、pandas结合matplotlib进行数据可视化、pandas的应用。
项目14使用matplotlib进行数据可视化。介绍使用Python扩展库matplotlib进行数据可视化相关的技术,包括折线图、散点图、饼状图、柱状图、三维图的绘制,以及切分绘图区域、设置坐标轴和图例等内容。
本书适用读者
本书可以作为(但不限于):本科、专科、高职院校非计算机专业程序设计课程用教材,计算机专业程序设计基础课程教材, Python爱好者自学用书。
配套资源
本书提供教学PPT、源代码、大纲、习题答案等全套教学资源,可通过微信公众号“Python小屋”获取,或发送邮件至dongfuguo2005@126.com与作者联系获取;也可通过机械工业出版社相应渠道获取(见版权页内容简介)。
致谢
首先感谢父母的养育之恩,在当年那么艰苦的条件下还坚决支持我读书,没有让我像其他同龄的孩子一样辍学。感谢姐姐、姐夫多年来对我的爱护以及在老家对父母的照顾,感谢善良的弟弟、弟媳在老家对父母的照顾。当然,
|
|