Python学习手册 第4版PDF电子书下载
- 电子书积分:23 积分如何计算积分?
- 作 者:Mark Lutz著;李军,刘红伟译
- 出 版 社:北京:机械工业出版社
- 出版年份:2011
- ISBN:9787111326533
- 页数:890 页
前言 1
第一部分 使用入门 19
第1章 问答环节 19
人们为何使用Python 19
软件质量 20
开发效率 21
Python是“脚本语言”吗 21
好吧,Python的缺点是什么呢 23
如今谁在使用Python 23
使用Python可以做些什么 24
系统编程 25
用户图形接口 25
Internet脚本 25
组件集成 26
数据库编程 26
快速原型 27
数值计算和科学计算编程 27
游戏、图像、人工智能、XML、机器人等 27
Python如何获得支持 28
Python有哪些技术上的优点 28
面向对象 28
免费 29
可移植 29
功能强大 30
可混合 31
简单易用 31
简单易学 32
Python和其他语言比较起来怎么样 32
本章小结 33
本章习题 33
习题解答 34
Python是工程,不是艺术 34
第2章 Python如何运行程序 36
Python解释器简介 36
程序执行 37
程序员的视角 37
Python的视角 39
执行模块的变体 41
Python实现的替代者 42
执行优化工具 43
冻结二进制文件 44
其他执行选项 45
未来的可能性 46
本章小结 46
本章习题 47
习题解答 47
第3章 如何运行程序 48
交互提示模式下编写代码 48
交互地运行代码 49
为什么使用交互提示模式 51
使用交互提示模式 52
系统命令行和文件 54
第一段脚本 55
使用命令行运行文件 56
使用命令行和文件 57
UNIX可执行脚本(#!) 58
UNIX env查找技巧 59
点击文件图标 60
在Windows中点击图标 60
input的技巧 61
图标点击的其他限制 63
模块导入和重载 63
模块的显要特性:属性 65
import和reload的使用注意事项 68
使用exec运行模块文件 69
IDLE用户界面 70
IDLE基础 71
使用IDLE 72
高级IDLE工具 74
其他的IDE 74
其他启动选项 76
嵌入式调用 76
冻结二进制的可执行性 77
文本编辑器启动的选择 77
其他的启动选择 77
未来的可能 77
我应该选用哪种 78
调试Python代码 78
本章小结 80
本章习题 80
习题解答 80
第一部分练习题 81
第二部分 类型和运算 87
第4章 介绍Python对象类型 87
为什么使用内置类型 88
Python的核心数据类型 88
数字 90
字符串 92
序列的操作 92
不可变性 94
类型特定的方法 94
寻求帮助 96
编写字符串的其他方法 97
模式匹配 98
列表 98
序列操作 98
类型特定的操作 99
边界检查 100
嵌套 100
列表解析 101
字典 103
映射操作 103
重访嵌套 104
键的排序:for循环 105
迭代和优化 107
不存在的键:if测试 107
元组 109
为什么要用元组 109
文件 110
其他文件类工具 111
其他核心类型 111
如何破坏代码的灵活性 113
用户定义的类 114
剩余的内容 115
本章小结 115
本章习题 116
习题解答 116
第5章 数字 117
Python的数字类型 117
数字常量 118
内置数学工具和扩展 119
Python表达式操作符 120
在实际应用中的数字 125
变量和基本的表达式 125
数字显示的格式 126
比较:一般的和连续的 127
str和repr显示格式 128
除法:传统除法、Floor除法和真除法 129
整数精度 133
复数 133
十六进制、八进制和二进制记数 134
位操作 136
其他的内置数学工具 137
其他数字类型 139
小数数字 139
分数类型 141
集合 145
布尔型 151
数字扩展 152
本章小结 153
本章习题 153
习题解答 153
第6章 动态类型简介 155
缺少类型声明语句的情况 155
变量、对象和引用 156
类型属于对象,而不是变量 157
对象的垃圾收集 158
共享引用 159
共享引用和在原处修改 161
共享引用和相等 163
动态类型随处可见 164
本章小结 165
本章习题 165
习题解答 165
第7章 字符串 167
字符串常量 169
单双引号字符串是一样的 170
用转义序列代表特殊字节 171
raw字符串抑制转义 173
三重引号编写多行字符串块 175
实际应用中的字符串 176
基本操作 176
索引和分片 177
为什么要在意:分片 181
字符串转换工具 181
修改字符串 184
字符串方法 185
字符串方法实例:修改字符串 187
字符串方法实例:文本解析 189
实际应用中的其他常见字符串方法 190
最初的字符串模块(在Python 3.0中删除) 191
字符串格式化表达式 192
更高级的字符串格式化表达式 194
基于字典的字符串格式化 196
字符串格式化调用方法 196
基础知识 197
添加键、属性和偏移量 198
添加具体格式化 198
与%格式化表达式比较 200
为什么用新的格式化方法 203
通常意义下的类型分类 206
同样分类的类型共享其操作集合 206
可变类型能够在原处修改 207
本章小结 208
本章习题 208
习题解答 208
第8章 列表与字典 210
列表 210
实际应用中的列表 213
基本列表操作 213
列表迭代和解析 213
索引、分片和矩阵 214
原处修改列表 215
字典 220
实际应用中的字典 222
字典的基本操作 222
原处修改字典 223
其他字典方法 224
语言表 225
字典用法注意事项 226
为什么要在意字典接口 229
创建字典的其他方法 230
Python 3.0中的字典变化 231
本章小结 237
本章习题 237
习题解答 237
第9章 元组、文件及其他 239
元组 239
实际应用中的元组 241
为什么有了列表还要元组 243
文件 243
打开文件 244
使用文件 245
实际应用中的文件 246
其他文件工具 252
重访类型分类 254
为什么要在意操作符重载 255
对象灵活性 255
引用VS拷贝 256
比较、相等性和真值 258
Python 3.0的字典比较 260
Python中真和假的含义 261
Python的类型层次 263
Type对象 263
Pythonqb的其他类型 265
内置类型陷阱 265
赋值生成引用,而不是拷贝 265
重复能够增加层次深度 266
留意循环数据结构 266
不可变类型不可以在原处改变 267
本章小结 267
本章习题 268
习题解答 268
第二部分练习题 269
第三部分 语句和语法 275
第10章 Python语句简介 275
重访Python程序结构 275
Python的语句 276
两个if的故事 278
Python增加了什么 279
Python删除了什么 279
为什么使用缩进语法 281
几个特殊实例 283
简短实例:交互循环 285
一个简单的交互式循环 285
对用户输入数据做数学运算 287
用测试输入数据来处理错误 288
用try语句处理错误 289
嵌套代码三层 290
本章小结 290
本章习题 291
习题解答 291
第11章 赋值、表达式和打印 292
赋值语句 292
赋值语句的形式 293
序列赋值 294
Python 3.0中的扩展序列解包 297
多目标赋值语句 301
增强赋值语句 302
变量命名规则 305
Python的废弃协议 306
表达式语句 308
表达式语句和在原处的修改 309
打印操作 310
Python 3.0的print函数 311
Python 2.6 print语句 313
打印流重定向 315
版本独立的打印 318
为什么要注意print和stdout 319
本章小结 320
本章习题 321
习题解答 321
第12章 if测试和语法规则 322
if语句 322
通用格式 322
基本例子 323
多路分支 323
Python语法规则 325
代码块分隔符 326
语句的分隔符 328
一些特殊情况 329
真值测试 330
if/else三元表达式 332
为什么要在意布尔值 334
本章小结 335
本章习题 335
习题解答 335
第13章 while和for循环 336
while循环 336
一般格式 336
例子 337
break、continue、pass和循环else 338
一般循环格式 338
pass 338
continue 340
break 340
循环else 341
为什么要在意“模拟C语言的while循环” 342
for循环 343
一般格式 343
例子 344
为什么要在意”文件扫描” 349
编写循环的技巧 350
循环计数器:while和range 351
非完备遍历:range和分片 352
修改列表:range 353
并行遍历:zip和map 354
产生偏移和元素:enumerate 357
本章小结 358
本章习题 358
习题解答 359
第14章 迭代器和解析,第一部分 360
迭代器:初探 360
文件迭代器 361
手动迭代:iter和next 363
其他内置类型迭代器 365
列表解析:初探 367
列表解析基础知识 368
在文件上使用列表解析 369
扩展的列表解析语法 370
其他迭代环境 371
Python 3.0中的新的可迭代对象 375
range迭代器 376
map、zip和filter迭代器 377
多个迭代器VS单个迭代器 378
字典视图迭代器 379
其他迭代器主题 381
本章小结 381
本章习题 381
习题解答 382
第15章 文档 383
Python文档资源 383
#注释 384
dir函数 384
文档字符串:_doc_ 385
PyDoc:help函数 388
PyDoc:HTML报表 390
标准手册集 393
网络资源 394
已出版的书籍 394
常见编写代码的陷阱 395
本章小结 397
本章习题 397
习题解答 397
第三部分练习题 398
第四部分 函数 403
第16章 函数基础 403
为何使用函数 404
编写函数 405
def语句 406
def语句是实时执行的 407
第一个例子:定义和调用 408
定义 408
调用 408
Python中的多态 409
第二个例子:寻找序列的交集 410
定义 410
调用 411
重访多态 411
本地变量 412
本章小结 413
本章习题 413
习题解答 413
第17章 作用域 415
Python作用域基础 415
作用域法则 416
变量名解析:LEGB原则 418
作用域实例 419
内置作用域 420
在Python 2.6中违反通用性 422
global语句 422
最小化全局变量 423
最小化文件间的修改 424
其他访问全局变量的方法 426
作用域和嵌套函数 427
嵌套作用域的细节 427
嵌套作用域举例 427
nonlocal语句 433
nonlocal基础 433
nonlocal应用 435
为什么使用nonlocal 437
本章小结 440
本章习题 441
习题解答 442
第18章 参数 444
传递参数 444
参数和共享引用 445
避免可变参数的修改 447
对参数输出进行模拟 448
特定的参数匹配模型 449
基础知识 449
匹配语法 450
细节 452
关键字参数和默认参数的实例 452
任意参数的实例 455
Python 3.0 Keyword-Only参数 459
min调用 462
满分 463
加分点 464
结论 465
一个更有用的例子:通用set函数 465
模拟Python 3.0 print函数 466
使用Keyword-Only参数 467
为什么要在意:关键字参数 469
本章小结 469
本章习题 470
习题解答 470
第19章 函数的高级话题 472
函数设计概念 472
递归函数 474
用递归求和 474
编码替代方案 475
循环语句VS递归 476
处理任意结构 477
函数对象:属性和注解 478
间接函数调用 478
函数内省 479
函数属性 480
Python 3.0中的函数注解 481
匿名函数:lambda 483
lambda表达式 483
为什么使用lambda 484
如何(不要)让Python代码变得晦涩难懂 486
嵌套lambda和作用域 487
为什么要在意:回调 488
在序列中映射函数:map 489
函数式编程工具:filter和reduce 490
本章小结 492
本章习题 492
习题解答 492
第20章 迭代和解析,第二部分 494
回顾列表解析:函数式编程工具 494
列表解析与map 495
增加测试和嵌套循环 496
列表解析和矩阵 498
理解列表解析 499
为什么要在意:列表解析和map 500
重访迭代器:生成器 501
生成器函数:yield VS return 502
生成器表达式:迭代器遇到列表解析 506
生成器函数VS生成器表达式 507
生成器是单迭代器对象 508
用迭代工具模拟zip和map 510
为什么你会留意:单次迭代 514
内置类型和类中的值生成 515
Python 3.0解析语法概括 516
解析集合和字典解析 517
针对集合和字典的扩展的解析语法 517
对迭代的各种方法进行计时 518
对模块计时 519
计时脚本 519
计时结果 520
计时模块替代方案 523
其他建议 527
函数陷阱 528
本地变量是静态检测的 528
默认和可变对象 529
没有return语句的函数 531
嵌套作用域的循环变量 532
本章小结 532
本章习题 532
习题解答 533
第四部分练习题 533
第五部分 模块 539
第21章模块:宏伟蓝图 539
为什么使用模块 540
Python程序架构 540
如何组织一个程序 541
导入和属性 541
标准库模块 543
import如何工作 543
1.搜索 544
2.编译(可选) 544
3.运行 545
模块搜索路径 545
配置搜索路径 547
搜索路径的变动 548
sys.path列表 548
模块文件选择 549
高级的模块选择概念 550
第三方工具:distutils 550
本章小结 551
本章习题 551
习题解答 551
第22章 模块代码编写基础 553
模块的创建 553
模块的使用 554
import语句 554
from语句 555
from*语句 555
导入只发生一次 555
import和from是赋值语句 556
文件间变量名的改变 557
import和from的对等性 557
from语句潜在的陷阱 558
模块命名空间 560
文件生成命名空间 560
属性名的点号运算 562
导入和作用域 562
命名空间的嵌套 563
重载模块 564
reload基础 565
reload实例 566
为什么要在意:模块重载 567
本章小结 568
本章习题 568
习题解答 568
第23章 模块包 570
包导入基础 570
包和搜索路径设置 571
_init_.py包文件 572
包导入实例 573
包对应的from语句和import语句 574
为什么要使用包导入 575
三个系统的传说 576
包相对导入 578
Python 3.0中的变化 578
相对导入基础知识 579
为什么使用相对导入 581
相对导入的作用域 583
模块查找规则总结 583
相对导入的应用 584
为什么要在意:模块包 589
本章小结 590
本章习题 590
习题解答 590
第24章 高级模块话题 592
在模块中隐藏数据 592
最小化from*的破坏:_x和_all_ 593
启用以后的语言特性 593
混合用法模式:_name和_main_ 594
以_name_进行单元测试 595
使用带有_name_的命令行参数 596
修改模块搜索路径 599
Import语句和from语句的as扩展 599
模块是对象:元程序 600
用名称字符串导入模块 603
过渡性模块重载 604
模块设计理念 607
模块陷阱 607
顶层代码的语句次序的重要性 608
from复制变量名,而不是连接 609
from*会让变量语义模糊 610
reload不会影响from导入 610
reload、from以及交互模式测试 611
递归形式的from导入无法工作 612
本章小结 613
本章习题 613
习题解答 613
第五部分练习题 614
第六部分 类和OOP 619
第25章 OOP:宏伟蓝图 619
为何使用类 620
概览OOP 621
属性继承搜索 621
类和实例 623
类方法调用 624
编写类树 624
OOP是为了代码重用 627
本章小结 629
本章习题 629
习题解答 630
第26章 类代码编写基础 631
类产生多个实例对象 631
类对象提供默认行为 632
实例对象是具体的元素 632
第一个例子 632
类通过继承进行定制 635
第二个例子 635
类是模块内的属性 637
类可以截获Python运算符 638
第三个例子 639
为什么要使用运算符重载 641
世界上最简单的Python类 641
类与字典的关系 644
本章小结 646
本章习题 646
习题解答 646
第27章 更多实例 649
步骤1:创建实例 650
编写构造函数 650
在进行中测试 651
以两种方式使用代码 652
版本差异提示 654
步骤2:添加行为方法 654
编写方法 656
步骤3:运算符重载 658
提供打印显示 658
步骤4:通过子类定制行为 659
编写子类 660
扩展方法:不好的方式 660
扩展方法:好的方式 661
多态的作用 663
继承、定制和扩展 664
OOP:大思路 664
步骤5:定制构造函数 665
OOP比我们认为的要简单 666
组合类的其他方式 667
在Python 3.0中捕获内置属性 669
步骤6:使用内省工具 670
特殊类属性 670
一种通用显示工具 671
实例与类属性的关系 672
工具类的命名考虑 673
类的最终形式 674
步骤7(最后一步):把对象存储到数据库中 676
Pickle和Shelve 676
在shelve数据库中存储对象 677
交互地探索shelve 678
更新shelve中的对象 680
未来方向 681
本章小结 683
本章习题 684
习题解答 684
第28章 类代码编写细节 686
class语句 686
一般形式 686
例子 687
方法 689
例子 690
调用超类构造函数 691
其他方法调用的可能性 691
继承 692
属性树的构造 692
继承方法的专有化 693
类接口技术 694
抽象超类 695
Python 2.6和Python 3.0的抽象超类 696
命名空间:完整的内容 698
简单变量名:如果赋值就不是全局变量 698
属性名称:对象命名空间 698
Python命名空间的“禅”:赋值将变量名分类 699
命名空间字典 701
命名空间链接 704
回顾文档字符串 706
类与模块的关系 707
本章小结 708
本章习题 708
习题解答 708
第29章 运算符重载 710
基础知识 710
构造函数和表达式:_init_和_suD_ 711
常见的运算符重载方法 711
索引和分片:_getitem_和_setitem_ 713
拦截分片 713
Python 2.6中的分片和索引 715
索引迭代:_getitem_ 716
迭代器对象:_iter_和_next_ 717
用户定义的迭代器 717
有多个迭代器的对象 719
成员关系:_contains_、_iter_和_getitem_ 721
属性引用:_getattr_和_setattr_ 723
其他属性管理工具 725
模拟实例属性的私有性:第一部分 725
_repr_和_str_会返回字符串表达形式 726
右侧加法和原处加法:_radd_和_iadd_ 729
原处加法 730
Call表达式:_call_ 731
函数接口和回调代码 732
比较:_lt_、_gt_和其他方法 734
Python 2.6的_cmp_方法(已经从Python 3.0中移除了) 734
布尔测试:_bool和_len_ 735
Python 2.6中的布尔 736
对象析构函数:_del_ 738
本章小结 739
本章习题 739
习题解答 739
第30章 类的设计 741
Python和OOP 741
通过调用标记进行重载(或不要) 742
OOP和继承:“是一个”关系 743
OOP和组合:“有一个”关系 744
重访流处理器 746
为什么要在意:类和持续性 748
OOP和委托:“包装”对象 749
类的伪私有属性 751
变量名压缩概览 751
为什么使用伪私有属性 752
方法是对象:绑定或无绑定 754
在Python 3.0中,无绑定方法是函数 756
绑定方法和其他可调用对象 757
为什么要在意:绑定方法和回调函数 760
多重继承:“混合”类 760
编写混合显示类 761
类是对象:通用对象的工厂 771
为什么有工厂 772
与设计相关的其他话题 773
本章小结 773
本章习题 774
习题解答 774
第31章 类的高级主题 775
扩展内置类型 775
通过嵌入扩展类型 776
通过子类扩展类型 777
新式类 779
新式类变化 780
类型模式变化 781
钻石继承变动 785
新式类的扩展 789
slots实例 789
类特性 793
_getattribute_和描述符 795
元类 795
静态方法和类方法 796
为什么使用特殊方法 796
Python 2.6和Python 3.0中的静态方法 797
静态方法替代方案 799
使用静态和类方法 800
使用静态方法统计实例 801
用类方法统计实例 802
装饰器和元类:第一部分 805
函数装饰器基础 805
装饰器例子 806
类装饰器和元类 807
更多详细信息 808
类陷阱 809
修改类属性的副作用 809
修改可变的类属性也可能产生副作用 810
多重继承:顺序很重要 811
类、方法以及嵌套作用域 812
Python中基于委托的类:_getattr_和内置函数 814
“过度包装” 814
本章小结 815
本章习题 815
习题解答 815
第六部分练习题 816
为什么要在意:大师眼中的OOP 821
第七部分 异常和工具 825
第32章 异常基础 825
为什么使用异常 826
异常的角色 826
异常处理:简明扼要 827
默认异常处理器 827
捕获异常 828
引发异常 829
用户定义的异常 830
终止行为 830
为什么要在意:错误检查 832
本章小结 833
本章习题 833
习题解答 834
第33章 异常编码细节 835
try/except/else语句 835
try语句分句 836
try/else分句 839
例子:默认行为 840
例子:捕捉内置异常 841
try/finally语句 841
例子:利用try/finally编写终止行为 842
统一try/except/finally语句 843
统一try语句语法 845
通过嵌套合并finally和except 845
合并try的例子 846
raise语句 847
利用raise传递异常 849
Python 3.0异常链:raise from 849
assert语句 850
例子:收集约束条件(但不是错误) 850
with/as环境管理器 851
基本使用 852
环境管理协议 853
本章小结 855
本章习题 855
习题解答 856
第34章 异常对象 857
异常:回到未来 858
字符串异常很简单 858
基于类的异常 858
类异常例子 859
为什么使用类异常 861
内置Exception类 864
内置异常分类 865
默认打印和状态 866
定制打印显示 867
定制数据和行为 868
提供异常细节 868
提供异常方法 869
本章小结 870
本章习题 870
习题解答 870
第35章 异常的设计 872
嵌套异常处理器 872
例子:控制流程嵌套 873
例子:语法嵌套化 874
异常的习惯用法 876
异常不总是错误 876
函数信号条件和raise 876
关闭文件和服务器连接 877
在try外进行调试 878
运行进程中的测试 879
关于sys.exc_info 879
与异常有关的技巧 880
应该包装什么 881
捕捉太多:避免空except语句 881
捕捉过少:使用基于类的分类 883
核心语言总结 884
Python工具集 884
大型项目的开发工具 885
本章小结 888
第七部分练习题 889
- 《党员干部理论学习培训教材 理论热点问题党员干部学习辅导》(中国)胡磊 2018
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《战略情报 情报人员、管理者和用户手册》(澳)唐·麦克道尔(Don McDowell)著 2019
- 《深度学习与飞桨PaddlePaddle Fluid实战》于祥 2019
- 《实用内科手册》黄清,阮浩航主编 2016
- 《全国普通高等中医药院校药学类专业“十三五”规划教材 第二轮规划教材 有机化学学习指导 第2版》赵骏 2018
- 《基层医疗卫生机构安全用药手册》黎月玲,熊慧瑜 2019
- 《同仁眼科手册系列 同仁儿童眼病手册》付晶编 2018
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019