《Python程式设计入门到实战》是于2017年1月清华大学出版社出版的一本图书,作者是何敏煌
前言
Python从入门到活用的16章讲解笔者从中学时的AppleII时代就开始写BASIC以及彙编程式,在大学毕业后如愿进入高职的数据处理科教学生BASIC程式设计,到现在过了快20年的光阴了。从中学一直到大学信息管理系,从QuickBASIC、彙编语言、C/C++一路教到Java语言,教过的学生只有少部分能够真正了解到程式设计的乐趣,并能够灵活地运用程式来解决学业以及工作上所遇到的难题。
其中的一部分原因当然是这些无趣的程式语言所造成的,但是,也有大部分原因是学习者缺乏对“程式设计”的热情。不像笔者在大三的时候,受到启蒙恩师——师大戴建耘教授及何宏发教授的影响,初学TurboC,就开始设计计算机辅助教学软体以及计算机象棋程式,让我对开拓计算机的潜能深深着迷,也才会一直走在信息科学研究这一条道路上。然而,这些动辄上万行的程式代码项目,对于非信息本科系的学习者来说,就算是有再大的动机与热情,也只能望程式代码而兴叹。
图书简介
Python语言是目前市面上最受欢迎的程式设计语言之一,除了功能强大之外,还有快速上手、随时可扩充、社群支持等特性。本书以16章的篇幅快速介绍Python语言的精要,包括程式设计的重要性以及由来、Python语言的基础知识、程式设计环境的安装与设定、软体包管理与线上资源、jupyter的使用、数据类型、表达式、函式、程式控制流程、与资料库的操作、提取网页数据、Firebase资料库、FacebookGraphAPI、Matplotlib、pillow、Django、云端开发Cloud9以及Git版本控制技巧等内容。
本书的结构与叙述风格更加“亲民”,以精选的日常问题为主线,让读者分析和学习这些日常问题的解决方法,既适合想学习Python程式设计的初学者自学,也适合使用Python语言开发网路套用的专业人员参考,同时还可作为大专院校和培训机构的教材。
目录
第1章程式设计所需要的基础知识1
1-1什幺是程式设计语言2
1-2程式设计的重要性4
1-3最受欢迎的程式设计语言5
1-4学习程式设计需要知道的逻辑概念6
1-5本书的结构及内容说明9
第2章快速了解Python程式设计语言11
2-1Python简介12
2-1-1Python的历史沿革12
2-1-2深受欢迎的Python程式设计语言12
2-1-3Python程式设计基本元素13
2-1-4Python程式易用性示範17
2-2学习Python的重要性19
2-3Python2和Python3的差异20
2-4Python的套用领域21
2-5习题22
第3章Python程式设计环境的安装与设定23
3-1马上使用Python编写程式24
3-1-1Windows用户24
3-1-2MacOS及Linux用户24
3-1-3在互动式界面中测试你的Python25
3-2安装Python3.x视窗环境27
3-2-1Windows的IDLE视窗环境27
3-2-2MicrosoftPythonToolsforVisualStudio32
3-2-3MacOS的IDLE视窗环境34
3-3简单且易上手的iPythonNotebook以及jupyter38
3-3-1安装jupyter38
3-3-2在命令提示符中执行iPython40
3-3-3执行浏览器版本的iPythonNotebook42
3-4程式代码编辑器的介绍46
3-4-1Notepad++的安装与套用46
3-4-2TextWrangler的安装与套用50
3-5在Linux虚拟机中运行Python52
3-5-1安装VMWareWorkstationPlayer52
3-5-2创建Ubuntu14Workstation虚拟机54
3-5-3在Ubuntu16Workstation中运行Python60
3-6习题62
第4章Python软体包管理与线上资源63
4-1Python软体包管理工具64
4-1-1easy_install的安装与使用64
4-1-2pip安装与使用65
4-2Python虚拟环境的设定66
4-2-1在MacOS中安装Virtualenv66
4-2-2在Windows中安装Virtualenv67
4-3高级软体包安装实践68
4-3-1Anaconda软体包介绍68
4-3-2在Windows中安装Anaconda、NumPy以及Matplotlib69
4-3-3在MacOS中安装Anaconda、NumPy以及Matplotlib72
4-3-4使用Matplotlib绘製精美数学图形75
4-4Python的线上资源与支持77
4-4-1PyPI网站介绍77
4-4-2在PyPI中寻找可以用来产生数独题目的软体包79
4-4-3运用找到的软体包设计程式81
4-5习题81
第5章开始设计Python程式82
5-1jupyter的介绍与使用83
5-1-1iPython运行环境的介绍83
5-1-2Python2中文编码的设定84
5-1-3iPythonNotebook的介绍与使用86
5-2程式的构想与实现89
5-2-1理清问题的需求89
5-2-2定义要存储的数据及其相关类型90
5-2-3设计算法与绘製流程图91
5-2-4动手编写程式92
5-2-5简易调试方法95
5-3猜数字游戏95
5-3-1问题需求95
5-3-2定义要存储的数据及其相关的类型95
5-3-3设计算法与绘製流程图96
5-3-4完成程式97
5-4习题98
第6章Python程式设计语言速览99
6-1常数、变数和数据类型100
6-1-1常数和变数的差异100
6-1-2变数的命名原则102
6-1-3程式设计语言的保留字103
6-1-4基本数据类型103
6-2Python表达式106
6-2-1算术表达式106
6-2-2关係表达式107
6-2-3逻辑表达式108
6-3列表list、元组tuple、字典dict与集合set类型109
6-3-1list列表与tuple元组109
6-3-2list的操作套用111
6-3-3dict字典113
6-3-4set集合115
6-3-5查看两个变数是否为同一个记忆体地址115
6-4内建函式和自定义函式117
6-4-1内建函式117
6-4-2自定义函式119
6-4-3import与自定义模组122
6-5单词出现频率的统计程式123
6-6习题124
第7章程式控制流程125
7-1判断语句的套用126
7-1-1if/elif/else126
7-1-2嵌套if/elif/else127
7-1-3单行的if/else语句128
7-2循环语句128
7-2-1基本循环语句128
7-2-2嵌套循环130
7-2-3break和continue的运用131
7-2-4叠代器132
7-3例外处理134
7-3-1例外处理的基本概念134
7-3-2try/except135
7-3-3处理不同的例外种类136
7-4程式流程控制的套用137
7-5习题142
第8章档案、数据档案与资料库的操作143
8-1档案与目录的操作144
8-1-1os.path144
8-1-2glob145
8-1-3os.walk146
8-1-4os.system和shutil148
8-2数据档案的操作149
8-2-1文本档案的读取与写入149
8-2-2文本档案的套用154
8-2-3读取JSON格式的数据158
8-3Python与资料库161
8-3-1安装Firefox的SQLiteManager附加组件162
8-3-2创建简易资料库164
8-3-3Python存取资料库的方法167
8-4资料库应用程式168
8-5习题173
第9章Python提取网站数据——基础篇174
9-1网际网路程式设计基础175
9-1-1网际网路与URL175
9-1-2解析网址178
9-1-3提取网页数据182
9-1-4使用正则表达式提取网页内的电子邮件账号183
9-2网页分析与套用186
9-2-1HTML网页格式简介186
9-2-2安装BeautifulSoup190
9-2-3使用BeautifulSoup提取信息192
9-2-4进一步分析网页的内容195
9-3网路应用程式198
9-3-1将数据存储为档案198
9-3-2以网页的形式整理数据200
9-3-3在本地建立网页套用203
9-4习题205
第10章Python网页数据提取的实践206
10-1把网页数据存储到资料库中207
10-1-1网页数据的运用模式207
10-1-2把数据存储到SQLite208
10-1-3把数据导入到网路MySQL资料库中213
10-1-4编写本地程式读取网路MySQL资料库中的数据217
10-1-5使用PHP建立信息提供网站219
10-2自动提取数据221
10-2-1检测网页内容是否曾经更新222
10-2-2Windows自动化设定226
10-2-3MacOS自动化设定230
10-3通过Python操作浏览器230
10-3-1安装Selenium231
10-3-2使用Selenium操作Firefox233
10-3-3通过Selenium读取网页信息235
10-3-4登录会员网站的方法237
10-4习题240
第11章Firebase线上实时资料库操作实践241
11-1Firebase资料库简介242
11-1-1NoSQL资料库概念242
11-1-2注册Firebase账号242
11-1-3连线Firebase和Python245
11-2Python存取Firebase资料库的实例247
11-2-1Firebase网路资料库的操作247
11-2-2使用Python写入Firebase资料库249
11-2-3使用Python读取Firebase资料库252
11-2-4整合範例254
11-3网页连线Firebase资料库258
11-3-1FirebaseHosting免费主机空间的设定258
11-3-2使用JavaScript读取Firebase资料库261
11-3-3Firebase网页设计262
11-4Firebase资料库的安全验证265
11-4-1Firebase安全性的设定265
11-4-2Email/Password机制266
11-4-3Python端的设定268
11-4-4将具有用户验证功能的数据写入程式269
11-5习题271
第12章Python套用实例272
12-1FacebookGraphAPI的介绍与使用273
12-1-1安装facebook-sdk273
12-1-2FacebookGraph简介273
12-1-3Python程式存取Facebook设定279
12-1-4通过Python“发表”文章281
12-1-5使用程式帮忙“点讚”283
12-1-6下载在Facebook中的照片283
12-2照片档案的管理285
12-2-1照片档案的分析285
12-2-2找出重複的照片档案287
12-2-3将照片档案重新编号290
12-3找出网路中最常被使用的中文词291
12-3-1蒐集新闻文章291
12-3-2安装中文分词模组jieba292
12-3-3找出文章中最常被使用的辞彙292
12-4习题294
第13章Python绘图与图像处理295
13-1Matplotlib的安装与使用296
13-1-1Matplotlib介绍296
13-1-2使用Matplotlib画图297
13-1-3统计图的绘製300
13-1-4数学函式图形的绘製306
13-2pillow的安装与使用309
13-2-1pillow简介310
13-2-2读取图像档案的信息310
13-2-3简易图像档案处理311
13-3批量处理图像档案314
13-3-1为自己的照片加上专属标誌以及批量调整照片尺寸314
13-3-2中文字型的处理与套用316
13-3-3为图像档案加入水印功能319
13-4习题321
第14章用Python打造特色网站322
14-1使用Python编写一个网站程式323
14-1-1网站原理323
14-1-2网站程式的输入与输出324
14-1-3使用Python编写的网站框架325
14-2Django简介328
14-2-1下载与安装Django328
14-2-2Django目录及重要配置档案解说330
14-2-3前端与后端的搭配332
14-2-4建立你的第一个Django网站333
14-3认识DjangoFramework的架构334
14-3-1Django的MTV架构334
14-3-2URL的对应方法详解335
14-3-3模板的使用336
14-3-4使用静态资料夹存取档案339
14-4Django与资料库340
14-4-1在Django中使用资料库341
14-4-2建立模型342
14-4-3admin后台管理343
14-4-4读取资料库中的数据345
14-4-5短网址转址网站模板的内容347
14-5习题350
第15章程式设计所需要的基础知识351
15-1网站的测试与调整352
15-1-1上线前的前置工作352
15-1-2网站的部署策略353
15-1-3网址的购买和选用353
15-2网站开发环境的部署354
15-2-1利用ngrok随时连线你的网站354
15-2-2申请Cloud9IDE账号356
15-2-3建立Cloud9开发环境357
15-2-4测试与执行Django网站361
15-3云虚拟机部署方法365
15-3-1DigitalOcean简介365
15-3-2创建Ubuntu虚拟机369
15-3-3安装、设定Apache伺服器和DjangoFramework373
15-3-4上传档案和网站上线374
15-4习题378
第16章提升Python能力的下一步379
16-1程式代码的版本控制380
16-1-1Git简介380
16-1-2Git实践操作382
16-1-3BitBucket的申请使用387
16-1-4整合BitBucket和Cloud9390
16-2云APP主机的部署392
16-2-1Heroku简介392
16-2-2创建Heroku账号393
16-2-3整合Cloud9和Heroku395
16-2-4在Heroku上部署Django网站396
16-3提升学习的下一步402