新書推薦:
《
大宋悬疑录:貔貅刑
》
售價:NT$
340.0
《
人生解忧:佛学入门四十讲
》
售價:NT$
490.0
《
东野圭吾:分身(东野圭吾无法再现的双女主之作 奇绝瑰丽、残忍又温情)
》
售價:NT$
295.0
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
《
日内交易与波段交易的资金风险管理
》
售價:NT$
390.0
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
经纬度丛书·州县之民:治乱之间的小民命运
》
售價:NT$
440.0
|
編輯推薦: |
台湾销售榜排名*。作者是中国台湾交通大学信息科学所博士,有20年的学习及教学经验。
|
內容簡介: |
Python 语言是目前市面上最受欢迎的程序设计语言之一,除了功能强大之外,还有快速上手、随时可扩充、社群支持等特性。本书以16章的篇幅快速介绍Python 语言的精要,包括程序设计的重要性以及由来、Python语言的基础知识、程序设计环境的安装与设置、软件包管理与在线资源、jupyter的使用 、数据类型、表达式、函数、程序控制流程、与数据库的操作、提取网页数据、Firebase数据库、Facebook Graph API、Matplotlib 、pillow、Django、云端开发Cloud9以及Git版本控制技巧等内容。 本书的结构与叙述风格更加“亲民”,以精选的日常问题为主线,让读者分析和学习这些日常问题的解决方法,既适合想学习Python程序设计的初学者自学,也适合使用 Python 语言开发网络应用的专业人员参考,同时还可作为大专院校和培训机构的教材。
|
關於作者: |
何敏煌中国台湾交通大学信息科学所博士。平时除了研究KVM虚拟机云端容错技术之外,也利用闲暇时间致力于信息科技的中文化和普及化。他主要的专长为Linux虚拟主机的管理与维护、WordPress网站的构建、电子商务应用、网站后端技术的开发与应用以及程序设计。
|
目錄:
|
第1章 程序设计所需要的基础知识 1
1-1 什么是程序设计语言 2
1-2 程序设计的重要性 4
1-3 最受欢迎的程序设计语言 5
1-4 学习程序设计需要知道的逻辑概念 6
1-5 本书的结构及内容说明 9
第2章 快速了解Python程序设计语言 11
2-1 Python简介 12
2-1-1 Python的历史沿革 12
2-1-2 深受欢迎的Python程序设计语言 12
2-1-3 Python程序设计基本元素 13
2-1-4 Python程序易用性示范 17
2-2 学习Python的重要性 19
2-3 Python 2 和 Python 3 的差异 20
2-4 Python的应用领域 21
2-5 习 题 22
第3章 Python程序设计环境的安装与设置 23
3-1 马上使用Python编写程序 24
3-1-1 Windows用户 24
3-1-2 Mac OS 及 Linux 用户 24
3-1-3 在交互式界面中测试你的Python 25
3-2 安装Python 3.x窗口环境 27
3-2-1 Windows的IDLE窗口环境 27
3-2-2 Microsoft Python Tools for Visual Studio 32
3-2-3 Mac OS的IDLE窗口环境 34
3-3 简单且易上手的iPython Notebook以及jupyter 38
3-3-1 安装jupyter 38
3-3-2 在命令提示符中执行iPython 40
3-3-3 执行浏览器版本的iPython Notebook 42
3-4 程序代码编辑器的介绍 46
3-4-1 Notepad的安装与应用 46
3-4-2 TextWrangler的安装与应用 50
3-5 在Linux虚拟机中运行Python 52
3-5-1 安装VMWare Workstation Player 52
3-5-2 创建Ubuntu 14 Workstation 虚拟机 54
3-5-3 在Ubuntu 16 Workstation中运行Python 60
3-6 习 题 62
第4章 Python软件包管理与在线资源 63
4-1 Python软件包管理工具 64
4-1-1 easy_install的安装与使用 64
4-1-2 pip安装与使用 65
4-2 Python虚拟环境的设置 66
4-2-1 在Mac OS中安装Virtualenv 66
4-2-2 在Windows中安装Virtualenv 67
4-3 高级软件包安装实践 68
4-3-1 Anaconda软件包介绍 68
4-3-2 在Windows中安装Anaconda、NumPy以及Matplotlib 69
4-3-3 在Mac OS中安装Anaconda、NumPy以及Matplotlib 72
4-3-4 使用Matplotlib绘制精美数学图形 75
4-4 Python的在线资源与支持 77
4-4-1 PyPI网站介绍 77
4-4-2 在PyPI中寻找可以用来产生数独题目的软件包 79
4-4-3 运用找到的软件包设计程序 81
4-5 习 题 81
第5章 开始设计Python程序 82
5-1 jupyter的介绍与使用 83
5-1-1 iPython运行环境的介绍 83
5-1-2 Python 2中文编码的设置 84
5-1-3 iPython Notebook的介绍与使用 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-2 Python表达式 106
6-2-1 算术表达式 106
6-2-2 关系表达式 107
6-2-3 逻辑表达式 108
6-3 列表list、元组tuple、字典dict与集合set类型 109
6-3-1 list列表与tuple元组 109
6-3-2 list的操作应用 111
6-3-3 dict字典 113
6-3-4 set集合 115
6-3-5 查看两个变量是否为同一个内存地址 115
6-4 内建函数和自定义函数 117
6-4-1 内建函数 117
6-4-2 自定义函数 119
6-4-3 import与自定义模块 122
6-5 单词出现频率的统计程序 123
6-6 习 题 124
第7章 程序控制流程 125
7-1 判断语句的应用 126
7-1-1 ifelifelse 126
7-1-2 嵌套ifelifelse 127
7-1-3 单行的ifelse语句 128
7-2 循环语句 128
7-2-1 基本循环语句 128
7-2-2 嵌套循环 130
7-2-3 break和continue的运用 131
7-2-4 迭代器 132
7-3 例外处理 134
7-3-1 例外处理的基本概念 134
7-3-2 tryexcept 135
7-3-3 处理不同的例外种类 136
7-4 程序流程控制的应用 137
7-5 习 题 142
第8章 文件、数据文件与数据库的操作 143
8-1 文件与目录的操作 144
8-1-1 os.path 144
8-1-2 glob 145
8-1-3 os.walk 146
8-1-4 os.system和shutil 148
8-2 数据文件的操作 149
8-2-1 文本文件的读取与写入 149
8-2-2 文本文件的应用 154
8-2-3 读取JSON格式的数据 158
8-3 Python与数据库 161
8-3-1 安装Firefox的SQLite Manager附加组件 162
8-3-2 创建简易数据库 164
8-3-3 Python存取数据库的方法 167
8-4 数据库应用程序 168
8-5 习 题 173
第9章 Python提取网站数据基础篇 174
9-1 因特网程序设计基础 175
9-1-1 因特网与URL 175
9-1-2 解析网址 178
9-1-3 提取网页数据 182
9-1-4 使用正则表达式提取网页内的电子邮件账号 183
9-2 网页分析与应用 186
9-2-1 HTML网页格式简介 186
9-2-2 安装BeautifulSoup 190
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 把数据存储到SQLite 208
10-1-3 把数据导入到网络MySQL数据库中 213
10-1-4 编写本地程序读取网络MySQL数据库中的数据 217
10-1-5 使用PHP建立信息提供网站 219
10-2 自动提取数据 221
10-2-1 检测网页内容是否曾经更新 222
10-2-2 Windows自动化设置 226
10-2-3 Mac OS自动化设置 230
10-3 通过Python操作浏览器 230
10-3-1 安装Selenium 231
10-3-2 使用Selenium操作Firefox 233
10-3-3 通过Selenium读取网页信息 235
10-3-4 登录会员网站的方法 237
10-4 习 题 240
第11章 Firebase在线实时数据库操作实践 241
11-1 Firebase数据库简介 242
11-1-1 NoSQL数据库概念 242
11-1-2 注册Firebase账号 242
11-1-3 连接Firebase和Python 245
11-2 Python存取Firebase数据库的实例 247
11-2-1 Firebase网络数据库的操作 247
11-2-2 使用Python写入Firebase数据库 249
11-2-3 使用Python读取Firebase数据库 252
11-2-4 整合范例 254
11-3 网页连接Firebase数据库 258
11-3-1 Firebase Hosting免费主机空间的设置 258
11-3-2 使用JavaScript读取Firebase数据库 261
11-3-3 Firebase网页设计 262
11-4 Firebase数据库的安全验证 265
11-4-1 Firebase安全性的设置 265
11-4-2 EmailPassword机制 266
11-4-3 Python端的设置 268
11-4-4 将具有用户验证功能的数据写入程序 269
11-5 习 题 271
第12章 Python应用实例 272
12-1 Facebook Graph API的介绍与使用 273
12-1-1 安装facebook-sdk 273
12-1-2 Facebook Graph简介 273
12-1-3 Python程序存取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 安装中文分词模块jieba 292
12-3-3 找出文章中最常被使用的词汇 292
12-4 习 题 294
第13章 Python绘图与图像处理 295
13-1 Matplotlib的安装与使用 296
13-1-1 Matplotlib介绍 296
13-1-2 使用Matplotlib画图 297
13-1-3 统计图的绘制 300
13-1-4 数学函数图形的绘制 306
13-2 pillow的安装与使用 309
13-2-1 pillow简介 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-2 Django简介 328
14-2-1 下载与安装Django 328
14-2-2 Django目录及重要配置文件解说 330
14-2-3 前端与后端的搭配 332
14-2-4 建立你的第一个Django网站 333
14-3 认识Django Framework的架构 334
14-3-1 Django的MTV架构 334
14-3-2 URL的对应方法详解 335
14-3-3 模板的使用 336
14-3-4 使用静态文件夹存取文件 339
14-4 Django与数据库 340
14-4-1 在Django中使用数据库 341
14-4-2 建立模型 342
14-4-3 admin后台管理 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 申请Cloud9 IDE账号 356
15-2-3 建立Cloud9开发环境 357
15-2-4 测试与执行Django网站 361
15-3 云虚拟机部署方法 365
15-3-1 DigitalOcean简介 365
15-3-2 创建Ubuntu虚拟机 369
15-3-3 安装、设置Apache服务器和Django Framework 373
15-3-4 上传文件和网站上线 374
15-4 习 题 378
第16章 提升Python能力的下一步 379
16-1 程序代码的版本控制 380
16-1-1 Git简介 380
16-1-2 Git实践操作 382
16-1-3 BitBucket的申请使用 387
16-1-4 整合BitBucket和Cloud9 390
16-2 云APP主机的部署 392
16-2-1 Heroku简介 392
16-2-2 创建Heroku账号 393
16-2-3 整合Cloud9和Heroku 395
16-2-4 在Heroku上部署Django网站 396
16-3 提升学习的下一步 402
|
內容試閱:
|
Python从入门到活用的16章讲解
笔者从中学时的Apple II时代就开始写BASIC以及汇编程序,在大学毕业后如愿进入高职的数据处理科教学生BASIC程序设计,到现在过了快20年的光阴了。从中学一直到大学信息管理系,从Quick BASIC、汇编语言、CC一路教到Java语言,教过的学生只有少部分能够真正了解到程序设计的乐趣,并能够灵活地运用程序来解决学业以及工作上所遇到的难题。其中的一部分原因当然是这些无趣的程序语言所造成的,但是,也有大部分原因是学习者缺乏对程序设计的热情。不像笔者在大三的时候,受到启蒙恩师师大戴建耘教授及何宏发教授的影响,初学Turbo C,就开始设计计算机辅助教学软件以及计算机象棋程序,让我对开拓计算机的潜能深深着迷,也才会一直走在信息科学研究这一条道路上。然而,这些动辄上万行的程序代码项目,对于非信息本科系的学习者来说,就算是有再大的动机与热情,也只能望程序代码而兴叹。幸运的是,随着因特网科技的进步,改变了许多信息科技的生态,而程序语言也产生了质变,以Python为代表的新时代程序语言,挟着网络的威力,具有快速上手、随时可扩充、社群支持等特性,让写程序的人往往只要短短的几行程序代码,就可以完成许多传统程序语言要上千行程序代码才能搞定的工作,交谈式的接口也让初学者可以更容易通过试误法加深对语言的了解。容易学习,好上手,不用写一大堆程序代码,就可以马上解决应用问题是Python的重要特性,也是本书写作的原则。笔者认为,要学会程序设计,最重要的是动机,因此本书不以传统学习程序语言的方式在一开始就全面学习无趣的语法细节,让学习者在语法还没学完就先打瞌睡。相反,我们一开始并不着重于Python语言介绍的完整性,而是强调其易用以及实用性。以各种程序应用实例贯穿全书,小心地避开需要想比较久的高深技巧(尽管它可以发挥程序更大的能力,但是对于日后不一定要以程序设计为业的初学者其实是不必要的),着重于马上可执行并看到有趣成果的程序学习,让读者可以保持高度学习动机,运用做中学理论学完全书的内容。因此,本书在第1章了解程序设计的重要性以及由来之后,我们在第2章就开始写计算生日的小程序,第3章安装可以执行的开发环境,第4章就可以使用Python撰写绘制SIN函数图形的程序了。第5章让读者对于如何开始写一个比较正式程序的基本程序有一个充分的了解和练习,这时候就可以在第6章对于Python语言做一个比较完整的介绍。因为已经实际练习过一些有趣的程序实例,在学习语法的时候会更有感觉。第7章介绍控制程序的方法,一个非常实用的成绩计算程序也就可以毫不费力地完成了。接下来在第8章教读者如何把输入的数据存在档案和数据库中,第9章开始学习如何到网站上去提取数据并加以应用,第10章把提取下来的数据储存到数据库,并学习如何让计算机自动化地执行工作,甚至还可以利用Python程序来控制Firefox浏览器。在第11章我们会介绍如何以Python程序来建立目前最流行的在线实时数据库Firebase的相关应用,第12章则以Facebook操作和处理照片档案以及中文字词处理当作应用实例,强化学习的成果。第13章则是很多朋友感兴趣的绘图与图像文件处理的介绍。在这一章中,还会有一个批量为图形调整尺寸以及上文字水印的应用程序,非常实用。第14、15以及16这三章,以如何利用Python开发网站为主线,让读者学习云端开发Cloud9以及Git版本控制技巧,另外,如何把自己开发的网站部署到云端主机(DigitalOcean以及Heroku)也有非常详细的介绍。在这三章中,会让读者开发一个实用的网络数据库应用的短网址转址服务网站,部署上云端主机并立即可用。全书以实际应用为主线,程序设计内容以实用、易理解为主,并不强调程序设计技巧的运用(所以有些程序片段看起来会比较平铺直述),尽量让学习者能够在看完程序和解说之后马上动手执行,甚至修改以及新增各种功能。让初学者能够立刻上手,并能体会程序设计的应用,进而对程序设计产生热情和学习动力是本书写作的主要目的。谁说程序设计一定是计算机工程师的工作?Python应该是每一个现代人手上最好的工具才对!
编 者
|
|