当前位置:首页 > 工业技术
Python学习手册
Python学习手册

Python学习手册PDF电子书下载

工业技术

  • 电子书积分:19 积分如何计算积分?
  • 作 者:(美)鲁特兹著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111267768
  • 页数:658 页
图书介绍:本书让你对这门语言有深入而完整的了解,从而帮助你理解今后遇到的任何Python应用程序实例。
《Python学习手册》目录
标签:手册 学习

前言 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有哪些技术上的优点 27

面向对象 28

免费 28

可移植 28

功能强大 29

可混合 30

使用简单 31

Python是工程,不是艺术 31

简单易学 33

名字来源于Monty Python 33

Python和其他语言比较起来怎么样 33

本章小结 34

头脑风暴 35

本章习题 35

习题解答 35

第2章Python如何运行程序 37

Python解释器简介 37

程序执行 39

程序员的视角 39

Python的视角 40

执行模块的变种 42

Python实现的替代者 42

执行优化工具 44

冻结二进制文件 45

未来的可能性 46

本章小结 47

头脑风暴 48

本章习题 48

习题解答 48

第3章如何运行程序 49

交互模式下编写代码 49

在交互提示模式下测试代码 51

使用交互提示模式 52

系统命令行和文件 52

使用命令行和文件 55

UNIX可执行脚本(#!) 56

UNIX env查找技巧 57

点击文件图标 57

在Windows中点击图标 58

raw_ input的技巧 58

图标点击的其他限制 60

模块导入和重载 61

模块的显要特性:属性 62

import和reload的使用注意事项 65

IDLE用户界面 66

IDLE基础 66

使用IDLE 68

高级IDLE工具 70

其他的IDE 70

嵌入式调用 71

动付二进制的可执行性 72

文本编辑器启动的选择 72

其他的启动选择 73

未来的可能 73

我应该选用哪种 73

本章小结 74

头脑风暴 75

本章习题 75

习题解答 75

头脑风暴:第一部分练习题 77

第二部分类型和运算 81

第4章介绍Python对象类型 81

为什么使用内置类型 82

Python的核心数据类型 82

数字 84

字符串 85

序列的操作 85

不可变性 87

类型特定的方法 88

寻求帮助 89

编写字符串的其他方法 90

模式匹配 91

列表 91

序列操作 92

类型特定的操作 92

边界检查 93

嵌套 93

列表解析 94

字典 95

映射操作 95

重访嵌套 96

键的排序:for循环 97

迭代和优化 99

不存在的键:if测试 100

元组 101

为什么要用元组 101

文件 101

其他文件类工具 102

其他核心类型 103

如何破坏代码的灵活性 104

用户定义的类 104

剩余的内容 105

本章小结 106

头脑风暴 107

本章习题 107

习题解答 107

第5章数字 109

Python的数字类型 109

数字常量 109

内置数学工具和扩展 111

Python表达式操作符 112

混合操作所遵循的操作符优先级 113

括号分组的子表达式 113

混合类型自动升级 114

预习:运算符重载 115

在实际应用中的数字 115

变量和基本的表达式 115

数字显示的格式 117

str和repr显示格式 118

除法:传统除法、Floor除法和真除法 118

位操作 119

长整型数 120

复数 121

十六进制和八进制记数 121

其他的内置数学工具 122

其他数字类型 123

小数数字 124

集合 125

布尔型 126

第三方扩展 127

本章小结 127

头脑风暴 128

本章习题 128

习题解答 128

第6章动态类型简介 129

缺少类型声明语句的情况 129

变量、对象和引用 129

类型属于对象,而不是变量 131

对象的垃圾收集 132

共享引用 133

共享引用和在原处修改 135

共享引用和相等 136

动态类型随处可见 138

本章小结 138

头脑风暴 139

本章习题 139

习题解答 139

第7章字符串 140

字符串常量 141

单双引号字符串是一样的 142

用转义序列代表特殊字节 142

字符串抑制转义 145

三重引号编写多行字符串块 146

字符串编码更大的字符集 147

实际应用中的字符串 149

基本操作 149

索引和分片 151

为什么要在意:分片 154

字符串转换工具 154

修改字符串 157

字符串格式化 158

更高级的字符串格式化 159

基于字典的字符串格式化 160

字符串方法 161

字符串方法实例:修改字符串 162

字符串方法实例:文本解析 164

实际应用中的其他常见字符串方法 165

最初的字符串模块 166

通常意义下的类型分类 168

同样分类的类型共享其操作集合 168

可变类型能够在原处修改 168

本章小结 169

头脑风暴 170

本章习题 170

习题解答 170

第8章列表与字典 171

列表 171

实际应用中的列表 174

基本列表操作 174

索引、分片和矩阵 174

原处修改列表 175

字典 179

实际应用中的字典 181

字典的基本操作 181

原处修改字典 182

其他字典方法 183

语言表 184

字典用法注意事项 185

为什么要在意字典接口 189

本章小结 189

头脑风暴 190

本章习题 190

习题解答 190

第9章元组、文件及其他 191

元组 191

实际应用中的元组 192

为什么有了列表还要元组 194

文件 195

打开文件 195

使用文件 196

实际应用中的文件 197

其他文件工具 201

重访类型分类 201

为什么要在意操作符重载 202

对象灵活性 202

引用VS拷贝 204

比较、相等性和真值 206

Python中真和假的含义 207

Python的类型层次 209

Python中的其他类型 210

内置类型陷阱 210

赋值生成引用,而不是拷贝 210

重复能够增加层次深度 211

留意循环数据结构 212

不可变类型不可以在原处改变 212

本章小结 213

头脑风暴 214

本章习题 214

习题解答 214

头脑风暴:第二部分练习题 215

第三部分语句和语法 221

第10章Python语句简介 221

重访Python程序结构 221

Python的语句 222

两个if的故事 223

Python增加了什么 224

Python删除了什么 224

终止行就是终止语句 225

为什么使用缩进语法 226

几个特殊实例 228

简短实例:交互循环 230

一个简单的交互式循环 230

对用户输入数据做数学运算 231

用测试输入数据来处理错误 232

用try语句处理错误 233

嵌套代码三层 234

本章小结 235

头脑风暴 236

本章习题 236

习题解答 236

第11章赋值、表达式和打印 237

赋值语句 237

赋值语句的形式 238

序列赋值 239

多目标赋值语句 242

增强赋值语句 243

变量命名规则 245

表达式语句 248

表达式语句和在原处的修改 249

打印语句 249

Python的“Hello World”程序 250

重定向输出流 251

print>>file扩展 252

本章小结 253

头脑风暴 255

本章习题 255

习题解答 255

第12章if测试 256

if语句 256

通用格式 256

基本例子 257

多路分支 257

Python语法规则 259

代码块分隔符 260

语句的分隔符 261

一些特殊情况 262

真值测试 262

if/else三元表达式 264

为什么要在意布尔值 266

本章小结 267

头脑风暴 268

本章习题 268

习题解答 268

第13章while和for循环 269

while循环 269

一般格式 269

例子 270

break continue、 pass和循环else 271

一般循环格式 271

例子 271

为什么要在意“模拟C语言的while循环” 275

for循环 275

一般格式 276

例子 276

为什么要在意“文件扫描” 279

迭代器:初探 280

文件迭代器 281

其他内置类型迭代器 283

其他迭代环境 284

用户定义的迭代器 285

编写循环的技巧 285

循环计数器:while和range 286

非完备遍历:range 287

修改列表:range 288

并行遍历:zip和map 289

产生偏移和元素:enumerate 291

列表解析:初探 292

列表解析基础 293

对文件使用列表解析 294

扩展列表解析语法 295

本章小结 296

头脑风暴 297

本章习题 297

习题解答 297

第14章文档 299

Python文档资源 299

#注释 300

dir函数 300

文档字符串:__doc__ 301

PyDoc:help函数 304

PyDoc HTML报表 306

标准手册集 309

网络资源 310

已出版的书籍 311

常见编写代码的陷阱 311

本章小结 313

头脑风暴 314

本章习题 314

习题解答 314

头脑风暴:第三部分练习题 315

第四部分 函数 319

第15章函数基础 319

为何使用函数 320

编写函数 320

def语句 322

def语句是实时执行的 322

第一个例子:定义和调用 323

定义 323

调用 324

Python中的多态 324

第二个例子:寻找序列的交集 325

定义 326

调用 326

重访多态 327

本地变量 328

本章小结 328

头脑风暴 329

本章习题 329

习题解答 329

第16章作用域和参数 330

作用域法则 330

函数作用域基础 331

变量名解析:LEGB原则 332

作用域实例 334

内置作用域 334

global语句 336

最小化全局变量 337

最小化文件间的修改 338

其他访问全局变量的方法 339

作用域和嵌套函数 340

嵌套作用域的细节 341

嵌套作用域举例 341

传递参数 347

参数和共享引用 348

避免可变参数的修改 349

对参数输出进行模拟 350

特定的参数匹配模型 351

关键字参数和默认参数的实例 352

任意参数的实例 354

关键字参数和默认参数的混合 356

min调用 357

一个更有用的例子:通用set函数 359

参数匹配:细节 360

为什么要在意:关键字参数 361

本章小结 362

头脑风暴 363

本章习题 363

习题解答 364

第17章 函数的高级话题 365

匿名函数:lambda 365

lambda表达式 365

为什么使用lambda 367

如何(不要)让Python代码变得晦涩难懂 368

嵌套lambda和作用域 369

作为参数来应用函数 370

内置函数apply 370

为什么要在意:回调 371

传入关键字参数 372

和apply类似的调用语法 372

在序列中映射函数:map 373

函数式编程工具:filter和reduce 374

重访列表解析:映射 376

列表解析基础 376

增加测试和嵌套循环 377

列表解析和矩阵 380

理解列表解析 381

为什么要在意:列表解析和map 382

重访迭代器:生成器 383

生成器函数实例 383

扩展生成器函数协议:send和next 385

迭代器和内置类型 386

生成器表达式:迭代器遇到列表解析 387

对迭代的各种方法进行计时 388

函数设计概念 390

函数是对象:简洁调用 392

函数陷阱 393

本地变量是静态检测的 393

默认和可变对象 395

没有return语句的函数 396

嵌套作用域的循环变量 397

本章小结 397

头脑风暴 398

本章习题 398

习题解答 398

头脑风暴:第四部分练习题 400

第五部分 模块 405

第18章模块:宏伟蓝图 405

为什么使用模块 405

Python程序构架 406

如何组织一个程序 407

导入和属性 407

标准库模块 409

import如何工作 409

搜索 410

编译(可选) 414

运行 414

第三方工具:distutils 415

本章小结 415

头脑风暴 417

本章习题 417

习题解答 417

第19章模块代码编写基础 418

模块的创建 418

模块的使用 419

import语句 419

from语句 420

from语句 420

导入只发生一次 420

import和from是赋值语句 421

文件间变量名的改变 422

import和from的对等性 422

from语句潜在的陷阱 423

模块命名空间 425

文件生成命名空间 425

属性名的点号运算 427

导入和作用域 427

命名空间的嵌套 428

重载模块 429

reload基础 430

reload实例 431

为什么要在意:模块重载 432

本章小结 432

头脑风暴 434

本章习题 434

习题解答 434

第20章模块包 435

包导入基础 435

包和搜索路径设置 436

__init__py包文件 436

包导入实例 438

包对应的from和import 439

为什么要使用包导入 440

三个系统的传说 441

为什么要在意:模块包 443

本章小结 443

头脑风暴 445

本章习题 445

习题解答 445

第21章高级模块话题 446

在模块中隐藏数据 446

最小化from的破坏:_X和__a11__ 446

启用以后的语言特性 447

混合用法模式:__name__和__main__ 447

以__name__进行单元测试 448

修改模块搜索路径 450

import as扩展 451

相对导入语法 451

为什么使用相对导入 452

模块设计理念 454

模块是对象:元程序 455

模块陷阱 457

顶层代码的语句次序的重要性 457

通过变量名字符串导入模块 458

from复制变量名而不是连接 459

from会让变量语义模糊 460

reload不会影响from导入 460

reload from以及交互模式测试 461

reload的使用没有传递性 462

递归形式的from import无法工作 463

本章小结 464

头脑风暴 465

本章习题 465

习题解答 465

头脑风暴:第五部分练习题 466

第六部分类和OOP 471

第22章OOP:宏伟蓝图 471

为何使用类 472

概览OOP 473

属性继承搜索 473

类和实例 475

类方法调用 476

编写类树 476

OOP是为了代码重用 479

本章小结 481

头脑风暴 483

本章习题 483

习题解答 483

第23章类代码编写基础 485

类产生多个实例对象 485

类对象提供默认行为 486

实例对象是具体的元素 486

第一个例子 486

类通过继承进行定制 489

第二个例子 489

类是模块内的属性 491

类可以截获Python运算符 492

第三个例子 493

为什么要使用运算符重载 494

世界上最简单的Python类 495

本章小结 497

头脑风暴 499

本章习题 499

习题解答 499

第24章 类代码编写细节 501

class语句 501

一般形式 501

例子 502

方法 504

例子 505

调用超类的构造器 506

其他方法调用的可能性 506

继承 507

属性树的构造 507

继承方法的专有化 508

类接口技术 509

抽象超类 510

运算符重载 511

常见的运算符重载方法 512

__getitem__拦截索引运算 513

__getitem__和__iter__实现迭代 513

用户定义的迭代器 514

__getattr__和__setattr__捕捉属性的引用 518

模拟实例属性的私有性 520

__repr__和__str_会返回字符串表达形式 520

__ radd__处理右侧加法 522

__call__拦截调用 523

函数接口和回调代码 523

__ del__是析构器 525

命名空间完整的内容 526

简单变量名:如果赋值就不是全局变量 526

属性名称:对象命名空间 527

Python命名空间的“禅”:赋值将变量名分类 527

命名空间字典 529

命名空间链接 531

一个更实际的例子 533

本章小结 536

头脑风暴 537

本章习题 537

习题解答 537

第25章 类的设计 539

Python和OOP 539

通过调用标记进行重载(或不要) 540

类作为记录 540

类和继承:“是一个”关系 542

类和组合:“有一个”关系 544

重访流处理器 545

为什么要在意:类和持续性 548

OOP和委托 548

多重继承 549

类是对象:通用对象的工厂 552

为什么有工厂 554

方法是对象绑定或无绑定 554

重访文档字符串 556

为什么要在意:绑定方法和回调函数 557

类和模块 558

本章小结 558

头脑风暴 559

本章习题 559

习题解答 559

第26章 类的高级主题 560

扩展内置类型 560

通过嵌入扩展类型 560

通过子类扩展类型 561

类的伪私有属性 563

变量名压缩概览 564

为什么使用伪私有属性 564

新式类 566

钻石继承变动 567

其他新式类的扩展 570

静态和类方法 573

使用静态和类方法 575

函数装饰器 576

装饰器例子 578

类陷阱 579

修改类属性的副作用 579

多重继承:顺序很重要 580

类、方法以及嵌套作用域 581

“过度包装” 583

本章小结 584

头脑风暴 585

本章习题 585

习题解答 585

头脑风暴:第六部分练习题 586

第七部 异常和工具 595

第27章异常基础 595

为什么使用异常 596

异常的角色 596

异常处理:简明扼要 597

try/except/else语句 601

try语句分句 602

try/else分句 604

例子:默认行为 605

例子:捕捉内置异常 606

try/finally语句 607

例子:利用try/finally编写终止行为 608

统一try/except/finally 609

通过嵌套合并finally和except 610

合并try的例子 611

raise语句 612

例子:引发并捕捉用户定义的异常 613

例子利用raise传入额外的数据 613

例子:利用raise传递异常 614

assert语句 614

例子:收集约束条件(但不是错误) 615

with/as环境管理器 616

基本使用 616

环境管理协议 617

为什么要在意:错误检查 618

本章小结 620

头脑风暴 621

本章习题 621

习题解答 621

第28章异常对象 622

基于字符串的异常 623

字符串异常就要出局了 623

基于类的异常 624

类异常例子 624

为什么使用类异常 626

内置Exception类 629

定义异常文本 630

发送额外数据和实例行为 631

raise语句的一般形式 633

本章小结 634

头脑风暴 636

本章习题 636

习题解答 636

第29章异常的设计 637

嵌套异常处理器 637

例子:控制流程嵌套 638

例子语法嵌套化 639

异常的习惯用法 641

异常不总是错误 641

函数信号条件和raise 641

在try外进行调试 642

运行进程中的测试 643

关于sys.exc_info 644

与异常有关的技巧 644

应该包装什么 644

捕捉太多:避免空except语句 645

捕捉过少:使用基于类的分类 647

异常陷阱 647

字符串异常匹配是通过同一性而不是通过值 648

捕捉到错误的异常 649

核心语言总结 649

Python工具集 650

大型项目的开发工具 651

本章小结 653

头脑风暴 655

本章习题 655

习题解答 655

头脑风暴:第七部分练习题 656

相关图书
作者其它书籍
返回顶部