词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。