请输入您要查询的百科知识:

 

词条 Python 学习手册(第三版)
释义

基本信息

原书名: Learning Python, 3rd Edition原出版社: O'Reilly Media, Inc.

作者: (美)Mark Lutz

译者: 侯靖

丛书名: 北京华章图文信息有限公司O'Reilly系列

出版社:机械工业出版社

ISBN:9787111267768

上架时间:2009-8-26

出版日期:2009 年8月

开本:16开

页码:656

版次:3-1

内容简介

python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触python,通过学习本书,你可以迅速高效地精通核心python语言基础。读完本书,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。.

本书是作者根据过去10年用于教学而广为人知的培训课程的材料编写而成的。除了有许多详实说明和每章小结之外,每章还包括一个头脑风暴:这是本书独特的一部分,配合以实用的练习题和复习题,让读者练习新学的技巧并测试自己的理解程度。

本书包括:

·类型和操作——深入讨论python主要的内置对象类型:数字、列表和字典等。

·语句和语法——在python中输入代码来建立并处理对象,以及python一般的语法模型。

·函数——python基本的面向过程工具,用于组织代码和重用。..

·模块——封装语句、函数以及其他工具,从而可以组织成较大的组件。

·类和oop——python可选的面向对象编程工具,可用于组织程序代码从而实现定制和重用。

·异常和工具——异常处理模型和语句,并介绍编写更大程序的开发工具。

·讨论python 3.0。

本书让你对python语言有深入而完整的了解,从而帮助你理解今后遇到的任何python应用程序实例。如果你准备探索google和youtube为什么选中了python,本书就是你入门的最佳指南。

作者简介

Mark Lutz是世界级的Python培训讲师。他是畅销Python书籍的作者,从1992年起,他就是Python社区的先锋。他也是《Programming Python》和《Python Pocket Reference》两本书的作者。从1997年起,Mark开始教授Python课程,截止到2007年,他开办了200个以上的Python短期培训课程。Mark拥有计算机科学学士和硕士学位,而且有25年的软件开发经验。

目录

前言. 1

第一部分使用入门第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 python33

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

其他的ide70

嵌入式调用71

动付二进制的可执行性72

文本编辑器启动的选择72

其他的启动选择73

未来的可能73

我应该选用哪种73

本章小结74..

头脑风暴75

本章习题75

习题解答75

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

第二部分类型和运算第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

第三部分语句和语法第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 和map289

产生偏移和元素: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

第四部分函数第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

匿名函数:lambda365

lambda 表达式365

为什么使用lambda 367

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

嵌套lambda 和作用域369

作为参数来应用函数370

内置函数apply370

为什么要在意:回调371

传入关键字参数372

和apply 类似的调用语法372

在序列中映射函数:map 373

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

重访列表解析:映射376

列表解析基础376

增加测试和嵌套循环377

列表解析和矩阵380

理解列表解析381

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

重访迭代器:生成器383

生成器函数实例383

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

迭代器和内置类型386

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

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

函数设计概念390

函数是对象:简洁调用392

函数陷阱393

本地变量是静态检测的393

默认和可变对象395

没有return 语句的函数396

嵌套作用域的循环变量397

本章小结397

头脑风暴 398

本章习题398

习题解答398

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

第五部分模块第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 和import439

为什么要使用包导入440

三个系统的传说441

为什么要在意:模块包443

本章小结443

头脑风暴 445

本章习题445

习题解答445

第21 章高级模块话题 446

在模块中隐藏数据446

最小化from * 的破坏:_x 和__all__. 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 第22 章oop :宏伟蓝图 471

为何使用类472

概览oop473

属性继承搜索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

第七部分异常和工具第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 和except610

合并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

函数信号条件和raise641

在try 外进行调试642

运行进程中的测试643

关于sys.exc_info 644

与异常有关的技巧644

应该包装什么644

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

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

异常陷阱647

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

捕捉到错误的异常649

核心语言总结649

python 工具集650

大型项目的开发工具651

本章小结653

头脑风暴 655

本章习题655

习题解答655

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

第八部分附录

附录a 安装和配置

附录b 每部分练习题解答

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/27 4:55:40