描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787512429895
2与Python 3之间的差别,以供读者参考。
本书既可作为Python开发入门者的自学用书,也可作为高等院校相关专业的教学参考书。
1.1
Python的魅力 1
1.1.1
Python很容易记忆 2
1.1.2
Python很容易使用 3
1.1.3
Python有广阔的前景 4
1.2
Python(Anaconda)的下载和安装… 6
1.2.1
什么是Anaconda
6
1.2.2
必要的学习环境7
1.2.3
在 Windows系统中安装Anaconda 8
1.2.4
在macOS(OS X)系统中安装Anaconda
9
1.2.5
在Linux系统中安装
Anaconda 10
1.2.6
已经安装Python的情况 11
1.2.7
安装本家版Python
11
1.3
交互式脚本(对话型脚本) 13
1.3.1
在 Windows系统中启动交互式脚本 13
1.3.2
在 macOS、Linux系统中启动交互式脚本14
1.3.3
输入Python代码15
1.3.4
关闭交互式脚本20
1.4
在文件中编写Python程序 20
1.4.1
使用Editor(编辑器)编写程序21
1.4.2
保存Python程序 21
1.4.3
在 Windows系统中运行Python的脚本文件22
1.4.4
在 macOS、Linux系统中执行Python的脚本文件
23
1.4.5
推荐的编辑器和选择方法24
1.5
使用Jupyter Notebook 26
1.5.1
在 Windows、macOS系统中启动内核 28
1.5.2
在Linux系统中启动内核 28
1.5.3
使用主面板29
1.5.4
制作Notebook29
1.5.5
使用Notebook运行程序 30
1.5.6
保存Notebook 32
1.5.7
结束Notebook
33
1.5.8
使用Jupyter Notebook的tmpnb 33
1.5.9
示例代码的运行方法34
第2章 用Python开始程序设计36
2.1
使用数值36
2.1.1
使用数值的四则运算37
2.1.2
四则运算和优先顺序38
2.2
使用变量38
2.2.1
定义变量38
2.2.2
使用变量进行计算39
2.3
使用字符串41
2.3.1
定义字符串41
2.3.2
字符串的连接42
2.3.3
复合运算符43
2.3.4
统一类型的Python风格 44
2.3.5
字符串与数值的转换(类型转换) 45
2.4
使用列表47
2.4.1
定义列表47
2.4.2
指定索引取出元素48
2.4.3
列表的连接50
2.4.4
元素的置换和删除50
2.4.5
使用切片取出多个元素52
2.4.6
列表的列表———二维数组53
2.4.7
列表的合计、最大值和最小值55
2.4.8
查看列表长度56
2.5
用for语句进行循环操作 57
2.6
用if语句进行条件分支 61
2.6.1
比较数值63
2.6.2
比较字符串63
2.6.3
检索字符串64
2.6.4
比较列表64
2.6.5
检索列表元素65
2.6.6
使用else语句 65
2.7
使用函数69
2.7.1
什么是函数69
2.7.2
调用函数70
2.7.3
函数的参数70
2.7.4
函数的返回值(1) 71
2.7.5
定义函数72
2.7.6
定义参数74
2.7.7
函数的返回值(2) 75
2.7.8
本地变量76
2.8
使用模块79
2.8.1
导入模块80
2.8.2
import语句的as 81
2.8.3
使用了from的导入 81
2.8.4
模块的查找方法82
第3章 掌握Python的基础83
3.1
使用字典83
3.1.1
什么是字典83
3.1.2
使用键取出元素84
3.1.3
使用键替换元素85
3.1.4
添加新的键与值86
3.1.5
使用键删除元素87
3.1.6
确认键的存在88
3.1.7
使用键的循环89
3.2
使用set(集合) 90
3.2.1
定义set 91
3.2.2
求set的并集 91
3.2.3
求set的差集 92
3.2.4
求set的交集 92
3.2.5
求set的异或 93
3.2.6
set与列表 94
3.2.7
set与比较 94
3.3
使用元组95
3.4
if语句的应用99
3.4.1
比较运算符99
3.4.2
比较运算符与True和False 99
3.4.3
关于比较的备忘录
100
3.4.4
复杂的比较———逻辑运算
100
3.5
循环的应用
101
3.5.1
使用while语句制作循环 101
3.5.2
使用了break语句和continue语句的循环控制 103
3.5.3
循环的else
105
3.6
函数的应用
105
3.6.1
对函数定义默认参数
106
3.6.2
参数的关键字指定
107
3.6.3
函数和本地变量
108
第4章 熟练使用内置类型111
4.1
作为对象的内置类型概述
111
4.1.1
什么是方法 111
4.1.2
作为对象的内置类型
113
4.1.3
内置的数据类型一览
114
4.1.4
数据类型的分类
116
4.1.5
序 列 116
4.1.6
可更改和不可更改
117
4.1.7
set类型和字典类型117
4.2
操作数值类型
118
4.2.1
十六进制的表示方法
118
4.2.2
二进制的表示方法119
4.2.3
八进制的表示方法
120
4.2.4
位运算 121
4.3
熟练使用字符串类型
121
4.3.1
字符串的替换和删除 121
4.3.2
split()方法和join()方法 122
4.3.3
转义序列 124
4.3.4
raw字符串 126
4.3.5
字符串中可以使用的方法
126
4.3.6
字符串的格式化
128
4.4
熟练掌握列表类型和元组类型
132
4.4.1
给列表排序
132
4.4.2
自定义排列顺序
133
4.4.3
解包代入 134
4.4.4
切片的步长数
135
4.4.5
使用了切片元素的代入和删除135
4.4.6
列表中可以使用的方法 136
4.5
熟练使用set类型 137
4.6
熟练掌握字典类型
138
4.6.1
通过序列等制作字典
138
4.6.2
将两个字典进行组合
139
4.6.3
巧妙处理字典的键
139
4.6.4
灵活运用字典中的方法 140
4.7
if语句和内置类型142
4.8
for语句和内置类型142
4.8.1
熟练使用range()函数 142
4.8.2
序列和循环计数器143
4.8.3
使用两个序列的循环
144
4.9
函数和内置类型
145
4.9.1
返回值和解包代入
145
4.9.2
在函数中接收参数列表
146
4.9.3
在函数中接收关键字参数
147
4.10
Python的字符串和日语
147
4.10.1
有关字符编码的基础知识147
4.10.2
Python和 Unicode
150
4.10.3
字节类型150
4.10.4
字符串向字节类型转换152
4.10.5
字节类型向字符串类型转换153
4.10.6
脚本文件的编码指定153
4.10.7
编码的判断154
4.10.8
编码和乱码154
4.10.9
多字节字符和字符的分界156
4.11
Python的文件处理
156
4.11.1
文件和文件对象158
4.11.2
从文件中读取160
4.11.3
写入文件162
4.11.4
处理二进制文件162
4.11.5
文件名称的处理163
第5章 Python与函数式程序设计 165
5.1
什么是函数式程序设计
165
5.1.1
Python的语句和表达式 167
5.1.2
Lambda表达式 167
5.2
解析式 168
5.2.1
列表解析式 169
5.2.2
列表解析式的详细介绍 169
5.2.3
在列表解析式中使用if
170
5.2.4
字典解析式
171
5.2.5
set解析式172
5.3
使用迭代 172
5.3.1
什么是迭代
172
5.3.2
迭代和延迟评价
173
5.4
使用生成器
175
5.4.1
定义生成器函数
176
5.4.2
生成器表达式
176
5.5
高阶函数和装饰器177
5.5.1
高阶函数 177
5.5.2
装饰器 179
第6章 类与面向对象开发181
6.1
在Python中使用类181
6.1.1
对象和类 181
6.1.2
由类制作对象(实例) 182
6.1.3
使用实例 183
6.1.4
对象和实例183
6.2
制作类184
6.2.1
定义类 185
6.2.2
实例的属性
185
6.2.3
方法的定义与初始化方法“__init__()”
187
6.2.4
方法与第一参数“self” 188
6.2.5
属性的隐蔽性
192
第7章 类的继承与高级面向对象功能194
7.1
继承类 194
7.1.1
指定超类 195
7.1.2
方法的重写
195
7.1.3
初始化方法的重写
196
7.1.4
得到使用super()的超类 197
7.1.5
插 槽 198
7.1.6
特 征 199
7.2
使用特殊方法
200
7.3
继承内置类型
206
第8章 模 块209
8.1
创建模块文件夹
209
8.1.1
导入模块时的操作
210
8.1.2
仅在执行文件时执行的块
211
8.1.3
类与模块 212
8.2
模块的层次(包) 213
8.2.1
包的本质 213
8.2.2
创建包 214
8.3
使用模块时的注意事项
214
8.3.1
使用from语句导入的弊端 214
8.3.2
模块的搜索顺序
214
8.4
使用第三方模块
215
8.4.1
模块的搜寻方法 215
8.4.2
使用pip安装模块 216
8.4.3
使用conda安装模块 217
8.4.4
模块的种类 217
8.4.5
手动安装模块
218
8.4.6
模块的设置场所和Python的版本 218
第9章 作用域与对象221
9.1
命名空间、作用域221
9.1.1
作用域的规则
222
9.1.2
类、实例的作用域224
9.2
纯粹面向对象语言Python
225
9.2.1
对象与属性
225
9.2.2
魔法函数dir()226
9.2.3
作为属性的方法
227
9.2.4
全部都是对象
228
9.2.5
对象与类型228
9.2.6
对象与属性
230
9.2.7
类、模块与属性231
9.2.8
对象和变量
231
9.2.9
对象与命名空间
232
第10章 异常处理
234
10.1
Python的异常处理
234
10.1.1
异常的发生234
10.1.2
捕获异常235
10.1.3
with语句 237
10.1.4
异常与追溯237
10.1.5
引发(raise)异常238
10.1.6
显示追溯238
10.2
常见错误或异常与对策239
10.2.1
读取程序时发生的错误(SyntaxError) 240
10.2.2
程序执行中发生的错误(Exception) 240
第11章 使用标准库
243
11.1
标准库的导入243
11.2
数据结构244
11.2.1
保持添加时顺序的“collections.OrderedDict” 244
11.2.2
带有默认值的字典“collections.defaultdict” 245
11.2.3
协助列表sort的“bisect” 246
11.3
处理日期数据的“datetime、calendar” 247
11.3.1
日期与时刻和字符串249
11.3.2
日期与时刻的运算和比较250
11.3.3
使用datetime.date类的方法 251
11.3.4
使用datetime.datetime类的方法 252
11.3.5
使用calendar模块 252
11.4
正则表达式“re” 254
11.4.1
re模块 254
11.4.2
Python的正则表达式
255
11.4.3
正则表达式的pattern字符串 255
11.4.4
使用正则表达式对象257
11.4.5
将模式传递给参数,进行正则表达式的处理 259
11.4.6
使用匹配对象260
11.4.7
正则表达式的示例261
11.5
获取操作系统参数的“sys” 261
11.5.1
获取命令行的参数261
11.5.2
程序的结束262
11.5.3
其他函数与变量262
11.6
获得及操作文件、进程等依赖 OS信息的“OS” 262
11.6.1
获取、操作与进程相关的信息
262
11.6.2
文件与目录的操作263
11.6.3
进程管理265
11.6.4
在交换平台使用了路径的操作266
11.7
使用数学函数“math”“random” 267
11.7.1
math———数学函数模块
267
11.7.2
random———生成随机数
269
11.8
获取因特网上数据的“urllib” 270
11.8.1
从 Web或FTP中获取文件271
11.8.2
使用request.urlretrieve()函数的示例代码 271
11.8.3
从 Web或FTP中读取数据272
11.8.4
在urlopen()返回的对象中可以使用的方法 272
11.8.5
BASIC认证 273
11.8.6
用POST方式传输数据 274
11.8.7
其他函数275
11.9
创建字符串库虚拟文件的“io.StringIO” 276
11.10
CSV(逗号分隔值)文件的操作 277
11.11
对象持久化与序列化“shelve”“pickle” 278
11.11.1
将字典持久化的“shelve” 279
11.11.2
执行对象持久化与序列化的“pickle” 280
11.12
处理JSON数据的“json” 282
11.12.1
将JSON转换为Python的数据类型283
11.12.2
Python的数据类型转换为JSON
283
11.12.3
json的使用示例
284
第12章 Python与数据科学 285
12.1
NumPy与 matplotlib
285
12.1.1
所谓的 NumPy与
matplotlib 285
12.1.2
使用NumPy 287
12.1.3
使用 matplotlib 290
12.2
使用NumPy
291
12.2.1
生成NumPy的array 291
12.2.2
使用数组的运算293
12.2.3
访问元素295
12.2.4
数组的连接295
12.2.5
复制数组296
12.3
使用 matplotlib 296
12.3.1
使用plot()来绘制图表297
12.3.2
控制plot()的绘制299
12.3.3
加入字符300
12.4
将日本的人口可视化300
12.4.1
读取人口数据301
12.4.2
绘制人口金字塔303
12.4.3
将图表绘制在交互式中304
12.4.4
推算未来人口数量306
12.5
Python与机器学习
310
12.5.1
用机器学习进行数值的预测311
12.5.2
机器学习的算法315
12.5.3
由姓名来判定性别316
12.5.4
机器学习、数据科学与Python 320
12.5.5
深度学习的登场和未来321
第13章 Python 2 323
13.1
Python 3与Python 2的不同点323
13.1.1
在Python 3中被削减掉的功能 324
13.1.2
在Python 2.7中可以使用的Python
3功能 324
13.1.3
在Python 3中改变了的功能 325
13.1.4
模块的再配置、名称变更
329
13.2
从Python 2到Python 3的迁移 330
13.3
结束语331
Microsoft(微软)等知名企业都在使用Python。
本书是第4版修订版,从问世以来,已经过了10年。
第1版出版是在2006年,当时正是一种新的Web萌芽与脚本语言都广受关注的时代。在欧美国家,知名的Web服务在开发时使用Python的事例很多。但是在日本,Python还没有很高的知名度。那时作为第一本Python日语书,第1版主要是将Python的优点广泛传达给了日本社会。
第2版出版时,正处于“云”概念被广泛接受的时代。以虚拟机监视器Xen、Google的云服务(cloud
service)AppEngine为代表,在云领域中,Python也受到了广泛关注。
在第3版中,以几年前发布的Python 3为中心,大规模地修改了第2版。以Linux的包管理为代表,Python作为基础被继续使用。在第3版中,对革新后的新Python进行了介绍。Python
3提高了一惯性,可以更安心、更长久地使用。
接下来是第4版。第4版增加了有关近年来广受关注的数据科学与机器学习的章节。另外,近来不以软件开发为专业的,也就是“非工程师”使用Python的情况渐渐增多。考虑到这一点,本版将基础讲解部分大篇幅改写得更加易读易懂。
回首这10年,我认为Python是时常引导时代的先驱者。从Web开始,云以及数据科学、人工智能等,Python总是开启新技术的起点。介绍这样优秀的Python,是本书最大的使命。
最后,要对审查本书的岩井雅治、太田芳行、奥野慎吾、kabihiko、木村明治、乡田mariko、樱井骏、铃木润、高田美纪、高野隆一、中村让、minakawamisaki、通口千洋、福岛真太郎、松泽太郎(50音顺序),以及本书的编辑、参与本书出版工作的所有工作人员表达最真挚的谢意。
同时也希望,通过本书,能有更多的人喜爱Python,喜爱indent。
写给最深爱的妻子、儿子、女儿和狗狗,同时也写给10年后的自己
评论
还没有评论。