明解Python

副标题:无

作   者:(日)柴田望洋

分类号:

ISBN:9787115583765

微信扫一扫,移动浏览光盘

简介

本书图文并茂、示例丰富,采用全彩印刷方式,通过299段代码和165幅图表,系统地讲解了Python的基础语法和编程知识,内容涉及分支/循环语句、对象、字符串、列表、集合、函数、类、模块、异常处理和文件处理等。针对初学人士难以理解和容易误解的地方,本书均采用平实的语言,辅以精心设计的版式,循序渐进、清晰直观地进行了讲解。跟随本书的讲解,读者可以扎实掌握Python的基础知识,并具备实际使用Python进行编程的能力。【目录】第 1章 开始学习Python吧 11-1 Python是什么 2关于Python 2关于Python的版本 4执行Python程序 41-2 Python的基础知识 6交互式shell(基本会话模式) 6运算符和操作数 7数值型和数值字面量 10字符串字面量和转义字符 11变量和类型 15表达式和语句 17赋值语句 18符号的叫法 19使用\延续代码到下一行 21Python 之禅 22总结 26第 2章 打印输出和键盘输入 292-1 打印输出 30使用print函数执行打印输出操作 30打印输出和换行 312-2 读取键盘输入 34使用input函数读取通过键盘输入的字符串 34字符串转换为数值 36使用format方法格式化字符串 38用变量表示常量 39总结 42第3章 程序流程之分支 453-1 if语句 46if语句(其一) 46比较运算符 47if语句(其二:使用else代码块) 48判断是否相等 49if语句(其三:使用elif代码块) 49pass语句 51简单语句 52逻辑型(bool 型) 52表达式和求值 53逻辑运算符 55逻辑运算表达式的求值和短路求值 57多重比较 59使用集合进行判断 60条件运算符 613-2 嵌套的if语句和代码组 64嵌套的if语句 64if 语句下执行多条语句 66if 语句与缩进 68if 语句的结构和代码组 68二值排序 69三值排序 70用于排序的内置函数sorted 71流程图 723-3 程序的构成要素 74程序的构成要素 74关键字 74标识符 75运算符 75分隔符 78数值字面量 78字符串字面量和字节序列字面量 79语法错误和异常 79PEP 和编码规范 81总结 84第4章 程序流程之循环 874-1 while语句 88关于while语句 88递减计数 89计算1到n的和 91else代码块和使用break语句中断循环 93使用continue语句跳过循环内的处理操作 94编写猜数字游戏(生成随机数和模块) 95编写猜拳游戏 97自带电池 984-2 for语句 99关于for语句 99range函数 101else代码块 103for语句和遍历 103先判断后循环 1044-3 多重循环 105九九乘法表 105打印输出长方形 106打印输出直角三角形 106总结 109第5章 对象和类型 1115-1 对象 112什么是对象 112可变类型和不可变类型 113身份运算符(is 运算符和is not运算符) 114赋值语句 115del语句 116None 1165-2 类型和运算 118对象和内置类型 118逻辑型 118浮点型和实数的运算 119算术转换 120复数型 121处理位的运算符 121按位逻辑运算符 122位移运算符 124总结 126第6章 字符串 1296-1 字符串的基础知识 130字符串 130元素和索引 130使用索引遍历字符串 132搜索字符串内的字符 132分片 133使用比较运算符判断值的大小关系和等价性 135成员运算符in 136使用enumerate函数遍历字符串 137不使用索引值遍历字符串 1386-2 操作字符串 140搜索 140拼接字符串 144分割字符串 146替换字符串 147删除字符串 147其他方法 1486-3 格式化 151使用格式化运算符 % 151使用format方法 153使用格式化字符串字面量(f字符串) 155总结 158第7章 列表 1617-1 列表 162列表的必要性 162理解列表的内部结构 163生成列表 165列表的运算 167使用len函数获取元素总数 168使用min函数和max函数获取小值和值 168判断空列表 168解包列表 169使用索引表达式访问元素 169使用分片表达式访问元素 170搜索列表 171扩展列表 173插入元素和删除元素 175可迭代对象和遍历列表 176反转列表 178使用列表处理成绩 178读取键盘输入和添加元素 180列表元素的值和小值 181使用列表实现矩阵 182复制列表 185浅复制和深复制 1867-2 列表解析式 188列表解析式 188嵌套的解析式 1907-3 扁平序列 192扁平序列和容器序列 192数组型(array 型) 193字节序列型(bytes 型) 194总结 196第8章 元组、字典和集合 1998-1 元组 200什么是元组 200生成元组 202元组与列表的共同点 203元组与列表的不同点 203打包和解包 205使用enumerate函数进行遍历 207元组的列表 208使用zip函数进行合并 2098-2 字典 212关于字典 212生成字典 213元素的顺序和等价性的判断(序列型和映射型) 215索引表达式和get方法 215索引表达式和setdefault方法 216使用update方法更新字典 217删除元素 219字典的基本操作 220遍历字典 221字典和视图 221字典的应用 223字典解析式 2248-3 集合 226关于集合 226集合的生成方法和集合的性质 226集合的基本操作 227添加元素(add 方法) 229集合解析式 231集合的应用示例 232可迭代对象和迭代器 232总结 234第9章 函数 2379-1 函数的基础知识 238函数是什么 238函数定义 239函数调用 239从函数返回值 241不接收参数的函数 244递归调用 245参数处理的机制 247接收列表为参数的函数 249反转列表中元素的排列顺序的函数 249参数的默认值 251位置参数和关键字参数 253通过位置参数的元组化来接收和传递可变参数 255解包可迭代型实参 257接收和传递字典化的关键字参数 259使用**解包映射型实参 261强制使用关键字参数 2629-2 文档字符串和标注 264文档字符串和help函数 264标注 266文档字符串 268编写各类函数 2709-3 命名空间和作用域 272关于函数定义的位置 272内部函数 273命名空间和作用域 275global语句和nonlocal语句 2779-4 高阶函数 280函数是对象 280高阶函数 2819-5 lambda表达式 284lambda表达式 284map函数和lambda表达式 285filter 函数和lambda表达式 286总结 288第 10章 模块和包 29110-1 模块 292模块和块 292编写模块 293模块搜索路径 295完全限定名 296使用import语句进行导入 29710-2 包 300标准包 300导入和相对导入 301命名空间包 302总结 304第 11章 类 30711-1 类 308什么是类 308类定义和实例的生成 308类定义 310构造函数和__init__方法 311方法 313数据隐藏与封装 315存取器(访问器和修改器) 317用于字符串化的 __str__方法 31911-2 类变量和类方法 322类变量 322类方法 32311-3 继承 326什么是继承 326派生类的定义和构造函数 326方法的重写和多态性 328object 类 329方法的多态行为 330is-A 关系和类的判断 331总结 334第 12章 异常处理 33712-1 异常处理 338异常和异常处理 338try 语句(异常处理器) 339使用except块对异常进行捕获与处理 341基于raise抛出异常 343自定义异常 344总结 348第 13章 文件处理 35113-1 文件处理的基础知识 352文件和文件系统 352文件的打开和关闭 352文件的写入 353文件的添加和读取 353读取文件的方法 355对文件执行写入操作的方法 356通过with语句进行文件处理 35713-2 二进制文件 362文本文件和二进制文件 362流位置与定位 364文件的转储 366总结 370附录 安装与运行 373A-1 Python的安装 374下载 Python 374安装 Python 376A-2 执行程序 378程序的执行方法 378交互式 shell(基本会话模式) 378集成开发环境 380python 命令 381本书的脚本程序 383后记 384参考文献 387致谢 387

目录


第 1章 开始学习Python吧 1

1-1 Python是什么 2

关于Python 2

关于Python的版本 4

执行Python程序 4



1-2 Python的基础知识 6

交互式shell(基本会话模式) 6

运算符和操作数 7

数值型和数值字面量 10

字符串字面量和转义字符 11

变量和类型 15

表达式和语句 17

赋值语句 18

符号的叫法 19

使用\延续代码到下一行 21

Python 之禅 22

总结 26



第 2章 打印输出和键盘输入 29

2-1 打印输出 30

使用print函数执行打印输出操作 30

打印输出和换行 31



2-2 读取键盘输入 34

使用input函数读取通过键盘输入的字符串 34

字符串转换为数值 36

使用format方法格式化字符串 38

用变量表示常量 39

总结 42



第3章 程序流程之分支 45

3-1 if语句 46

if语句(其一) 46

比较运算符 47

if语句(其二:使用else代码块) 48

判断是否相等 49

if语句(其三:使用elif代码块) 49

pass语句 51

简单语句 52

逻辑型(bool 型) 52

表达式和求值 53

逻辑运算符 55

逻辑运算表达式的求值和短路求值 57

多重比较 59

使用集合进行判断 60

条件运算符 61



3-2 嵌套的if语句和代码组 64

嵌套的if语句 64

if 语句下执行多条语句 66

if 语句与缩进 68

if 语句的结构和代码组 68

二值排序 69

三值排序 70

用于排序的内置函数sorted 71

流程图 72



3-3 程序的构成要素 74

程序的构成要素 74

关键字 74

标识符 75

运算符 75

分隔符 78

数值字面量 78

字符串字面量和字节序列字面量 79

语法错误和异常 79

PEP 和编码规范 81

总结 84





第4章 程序流程之循环 87

4-1 while语句 88

关于while语句 88

递减计数 89

计算1到n的和 91

else代码块和使用break语句中断循环 93

使用continue语句跳过循环内的处理操作 94

编写猜数字游戏(生成随机数和模块) 95

编写猜拳游戏 97

自带电池 98



4-2 for语句 99

关于for语句 99

range函数 101

else代码块 103

for语句和遍历 103

先判断后循环 104



4-3 多重循环 105

九九乘法表 105

打印输出长方形 106

打印输出直角三角形 106

总结 109



第5章 对象和类型 111

5-1 对象 112

什么是对象 112

可变类型和不可变类型 113

身份运算符(is 运算符和is not运算符) 114

赋值语句 115

del语句 116

None 116



5-2 类型和运算 118

对象和内置类型 118

逻辑型 118

浮点型和实数的运算 119

算术转换 120

复数型 121

处理位的运算符 121

按位逻辑运算符 122

位移运算符 124

总结 126



第6章 字符串 129

6-1 字符串的基础知识 130

字符串 130

元素和索引 130

使用索引遍历字符串 132

搜索字符串内的字符 132

分片 133

使用比较运算符判断值的大小关系和等价性 135

成员运算符in 136

使用enumerate函数遍历字符串 137

不使用索引值遍历字符串 138



6-2 操作字符串 140

搜索 140

拼接字符串 144

分割字符串 146

替换字符串 147

删除字符串 147

其他方法 148



6-3 格式化 151

使用格式化运算符 % 151

使用format方法 153

使用格式化字符串字面量(f字符串) 155

总结 158



第7章 列表 161

7-1 列表 162

列表的必要性 162

理解列表的内部结构 163

生成列表 165

列表的运算 167

使用len函数获取元素总数 168

使用min函数和max函数获取小值和值 168

判断空列表 168

解包列表 169

使用索引表达式访问元素 169

使用分片表达式访问元素 170

搜索列表 171

扩展列表 173

插入元素和删除元素 175

可迭代对象和遍历列表 176

反转列表 178

使用列表处理成绩 178

读取键盘输入和添加元素 180

列表元素的值和小值 181

使用列表实现矩阵 182

复制列表 185

浅复制和深复制 186



7-2 列表解析式 188

列表解析式 188

嵌套的解析式 190



7-3 扁平序列 192

扁平序列和容器序列 192

数组型(array 型) 193

字节序列型(bytes 型) 194

总结 196



第8章 元组、字典和集合 199

8-1 元组 200

什么是元组 200

生成元组 202

元组与列表的共同点 203

元组与列表的不同点 203

打包和解包 205

使用enumerate函数进行遍历 207

元组的列表 208

使用zip函数进行合并 209



8-2 字典 212

关于字典 212

生成字典 213

元素的顺序和等价性的判断(序列型和映射型) 215

索引表达式和get方法 215

索引表达式和setdefault方法 216

使用update方法更新字典 217

删除元素 219

字典的基本操作 220

遍历字典 221

字典和视图 221

字典的应用 223

字典解析式 224



8-3 集合 226

关于集合 226

集合的生成方法和集合的性质 226

集合的基本操作 227

添加元素(add 方法) 229

集合解析式 231

集合的应用示例 232

可迭代对象和迭代器 232

总结 234



第9章 函数 237

9-1 函数的基础知识 238

函数是什么 238

函数定义 239

函数调用 239

从函数返回值 241

不接收参数的函数 244

递归调用 245

参数处理的机制 247

接收列表为参数的函数 249

反转列表中元素的排列顺序的函数 249

参数的默认值 251

位置参数和关键字参数 253

通过位置参数的元组化来接收和传递可变参数 255

解包可迭代型实参 257

接收和传递字典化的关键字参数 259

使用**解包映射型实参 261

强制使用关键字参数 262



9-2 文档字符串和标注 264

文档字符串和help函数 264

标注 266

文档字符串 268

编写各类函数 270



9-3 命名空间和作用域 272

关于函数定义的位置 272

内部函数 273

命名空间和作用域 275

global语句和nonlocal语句 277



9-4 高阶函数 280

函数是对象 280

高阶函数 281



9-5 lambda表达式 284

lambda表达式 284

map函数和lambda表达式 285

filter 函数和lambda表达式 286

总结 288



第 10章 模块和包 291

10-1 模块 292

模块和块 292

编写模块 293

模块搜索路径 295

完全限定名 296

使用import语句进行导入 297



10-2 包 300

标准包 300

导入和相对导入 301

命名空间包 302

总结 304



第 11章 类 307

11-1 类 308

什么是类 308

类定义和实例的生成 308

类定义 310

构造函数和__init__方法 311

方法 313

数据隐藏与封装 315

存取器(访问器和修改器) 317

用于字符串化的 __str__方法 319



11-2 类变量和类方法 322

类变量 322

类方法 323

11-3 继承 326

什么是继承 326

派生类的定义和构造函数 326

方法的重写和多态性 328

object 类 329

方法的多态行为 330

is-A 关系和类的判断 331

总结 334



第 12章 异常处理 337

12-1 异常处理 338

异常和异常处理 338

try 语句(异常处理器) 339

使用except块对异常进行捕获与处理 341

基于raise抛出异常 343

自定义异常 344

总结 348



第 13章 文件处理 351

13-1 文件处理的基础知识 352

文件和文件系统 352

文件的打开和关闭 352

文件的写入 353

文件的添加和读取 353

读取文件的方法 355

对文件执行写入操作的方法 356

通过with语句进行文件处理 357



13-2 二进制文件 362

文本文件和二进制文件 362

流位置与定位 364

文件的转储 366

总结 370



附录 安装与运行 373

A-1 Python的安装 374

下载 Python 374

安装 Python 376

A-2 执行程序 378

程序的执行方法 378

交互式 shell(基本会话模式) 378

集成开发环境 380

python 命令 381

本书的脚本程序 383

后记 384

参考文献 387

致谢 387
【作者简介】
柴田望洋日本福冈工业大学信息工程学院副教授。在日本IT界家喻户晓,编写了一系列富有影响力的计算机教材和参考书,如《明解C语言》《明解Java》《明解C 》等。
【媒体评论】
周凯(译者)

软件工程专业硕士,日语一级。长期从事网络安全领域研发工作,精通Python、C、Java等编程语言,熟悉Scrapy、sklearn、Arcore等框架。日汉翻译经验丰富。


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

明解Python
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon