《OReilly精品图书系列PYTHON学习手册(原书第5版)》(美)马克・卢茨(MarkLutz)

《OReilly精品图书系列PYTHON学习手册(原书第5版)》(美)马克・卢茨(MarkLutz) | PDF下载|ePub下载

OReilly精品图书系列PYTHON学习手册(原书第5版) 版权信息

  • 出版社:机械工业出版社
  • 出版时间:2017-02-01
  • ISBN:9787111603665
  • 条形码:9787111603665 ; 978-7-111-60366-5

OReilly精品图书系列PYTHON学习手册(原书第5版) 内容简介

如果你想动手编写高效、高质量并且很容易与其他语言和工具集成的代码,本书将快速地帮助你利用Python提高效率。本书基于Python专家的流程培训课程编写,内容通俗易懂。本书包含很多注释的例子和插图,以帮助你开始使用Python2.7和3.3。每章都包含关于Python语言的重要组成部分的一节课。本书主要内容:了解Python的主要内置对象类型,如数字、列表和字典;创建和处理对象的Python语句,学习Python的一般语法模型;利用Python的基本程序工具的结构和重用代码;了解Python模块:语句包、函数和其他工具;探索Python的面向对象的编程工具,用于构建代码;了解异常处理模型和开发工具编写较大的程序;探索优选的Python工具,包括装饰符、描述符、元类、Unicode的处理。

OReilly精品图书系列PYTHON学习手册(原书第5版) 目录

上册


前言1


**部分 使用入门


第1章 问答环节 21


人们为何使用Python..21


软件质量.22


开发者效率..23


Python是一门“脚本语言”吗 23


好吧,Python的缺点是什么…25


如今谁在使用Python..25


其他的Python设计权衡:一些难以把握的方面…..26


使用Python可以做些什么.28


系统编程.28


图形用户界面(GUI)….29


Internet脚本…29


组件集成.30


数据库编程..30


快速原型.31


数值计算和科学计算编程 31


更多内容:游戏、图像、数据挖掘、机器人、Excel等 …..31


Python如何开发并获得支持…32


开源的权衡..33


Python有哪些技术上的优点…33


面向对象和函数式….33


免费34


可移植..34


功能强大.35


可混合..36


相对简单易用36


相对简单易学37


以Monty Python命名.37


Python和其他语言比较起来怎么样 …..38


本章小结…..39


本章习题…..39


习题解答…..40


Python是工程,不是艺术 41




第2章 Python如何运行程序 ….43


Python解释器简介43


程序执行…..45


程序员的视角45


Python的视角46


执行模型的变体…48


Python的各种实现 ….49


执行优化工具52


冻结二进制文件..53


未来的可能性54


本章小结…..55


本章习题…..55


习题解答…..56


第3章 你应如何运行程序 ..57


交互式命令行模式57


开始一个交互式会话.57


Windows平台上的交互式命令行在哪里 ..59


系统路径.59


Python 3.3中的新Windows选项:PATH和启动器 …60


运行的位置:代码目录…61


不需要输入的内容:提示符和注释 …62


交互式地运行代码….63


为什么要使用交互式命令行模式 .64


使用注意:交互命令行模式 ..65


系统命令行和文件67


**段脚本..68


使用命令行运行文件.69


不同的命令行使用方式…70


使用注意:命令行和文件 71


UNIX风格可执行脚本:#!…..72


UNIX脚本基础….72


UNIX env查找技巧…73


Python 3.3 Windows启动器:Windows也有#!了 ….73


点击文件图标.75


图标点击基础知识….75


在Windows上点击图标…76


Windows上输入的技巧…77


其他图标点击的限制.79


模块导入和重载…79


导入和重载基础知识.80


模块的宏观视角:属性…82


使用注意:import和reload …..85


使用exec运行模块文件…..85


IDLE用户界面86


IDLE启动细节…..87


IDLE基础用法…..88


IDLE功能特性…..89


高级IDLE工具…..90


使用注意:IDLE.90


其他IDE.92


其他启动选项.93


嵌入式调用..93


冻结二进制可执行文件…94


文本编辑器启动方式.94


其他的启动方式..95


未来的可能..95


应该选用哪种方式95


调试Python代码..96


本章小结…..97


本章习题…..97


习题解答…..98


**部分练习题…99


第二部分 类型和运算


第4章 介绍Python对象类型 ..105


Python知识结构..105


为什么要使用内置类型..106


Python核心数据类型107


数字…..108


字符串. 110


序列操作….. 110


不可变性….. 112


特定类型的方法 113


寻求帮助….. 115


字符串编程的其他方式. 116


Unicode字符串 . 117


模式匹配….. 119


列表…..120


序列操作…..120


特定的操作121


边界检查…..121


嵌套….122


推导….122


字典…..125


映射操作…..125


重访嵌套…..126


不存在的键:if 测试…..128


键的排序:for 循环.129


迭代和优化131


元组…..132


为什么要使用元组..133


文件…..133


二进制字节文件134


Unicode文本文件….135


其他类文件工具137


其他核心类型…..137


如何破坏代码的灵活性.139


用户定义的类….140


剩余的内容141


本章小结…141


本章习题…141


习题解答…142




第5章 数值类型 ….143


数值类型基础知识….143


数值字面量144


内置数值工具….146


Python表达式运算符…..146


数字的实际应用.151


变量与基础表达式..151


数值的显示格式153


str和repr显示格式…154


普通比较与链式比较…..154


除法:经典除法、向下取整除法和真除法 …..156


整数精度…..160


复数….160


十六进制、八进制和二进制:字面量与转换 .161


按位操作…..163


其他内置数值工具..164


其他数值类型…..167


小数类型…..167


分数类型…..169


集合….173


布尔型180


数值扩展…181


本章小结…182


本章习题…182


习题解答…182


第6章 动态类型 ….184


缺少声明语句的情况184


变量、对象和引用..184


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


对象的垃圾收集187


关于Python垃圾回收的更多讨论 …..188


共享引用…189


共享引用和在原位置修改 ….190


共享引用和相等192


动态类型随处可见….193


“弱”引用194


本章小结…194


本章习题…194


习题解答…195


第7章 字符串基础 .196


本章范围…196


Unicode简介197


字符串基础197


字符串字面量…..199


单引号和双引号字符串是一样的 …..200


转义序列代表特殊字符.200


原始字符串阻止转义…..203


三引号编写多行块字符串 ….205


实际应用中的字符串206


基本操作…..206


索引和分片207


请留意:分片…. 211


字符串转换工具212


修改字符串I214


字符串方法216


方法调用语法….216


字符串的方法….217


字符串方法示例:修改字符串II 218


字符串方法示例:解析文本 220


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


原始string模块的函数(在Python 3.X中删除) …221


字符串格式化表达式223


格式化表达式基础..224


高级格式化表达式语法.225


高级格式化表达式举例.226


基于字典的格式化表达式 ….227


字符串格式化方法调用..228


字符串格式化方法基础.228


添加键、属性和偏移量.229


高级格式化方法语法…..230


高级格式化方法举例…..231


与%格式化表达式比较233


为什么使用格式化方法.236


通用类型分类…..241


同一分类中的类型共享同一个操作集….241


可变类型能够在原位置修改 242


本章小结…242


本章习题…243


习题解答…243


第8章 列表与字典 .245


列表…..245


列表的实际应用.248


基本列表操作….248


列表迭代和推导248


索引、分片和矩阵..249


原位置修改列表250


字典…..256


字典的实际应用.258


字典的基本操作258


原位置修改字典259


其他字典方法….260


示例:电影数据库..262


字典用法注意事项..263


创建字典的其他方式…..267


请留意:字典vs列表…..268


Python 3.X和2.7中的字典变化 …269


请留意:字典接口..276


本章小结…277


本章习题…277


习题解答…277


第9章 元组、文件与其他核心类型 …. 279


元组…..280


元组的实际应用281


为什么有了列表还要元组 ….283


重访记录:有名元组…..284


文件…..286


打开文件…..287


使用文件…..288


文件的实际应用289


文本和二进制文件:一个简要的故事….290


在文件中存储Python对象:转换 …..291


存储Python原生对象:pickle …..293


用JSON格式存储Python对象 …..294


存储打包二进制数据:struct …..296


文件上下文管理器..297


其他文件工具….297


核心类型复习与总结299


请留意:运算符重载…..300


对象灵活性300


引用vs复制..301


比较、等价性和真值…..303


Python中True和False的含义 307


Python的类型层次…309


类型的对象309


Python中的其他类型….. 311


内置类型陷阱….. 311


赋值创建引用,而不是复制311


重复会增加层次深度…..312


注意循环数据结构..313


不可变类型不可以在原位置改变 …..313


本章小结…314


本章习题…314


习题解答…315


第二部分练习题.315


第三部分 语句和语法


第10章 Python语句简介.321


重温Python的知识结构..321


Python的语句…..322


两种不同的if324


Python增加的元素…325


Python删除的元素…325


为什么采用缩进语法…..327


几种特殊情况….329


简短示例:交互式循环..331


一个简单的交互式循环.331


对用户输入做数学运算.333


通过测试输入数据来处理错误 …334


用try语句处理错误..335


嵌套三层深的代码..337


本章小结…338


本章习题…338


习题解答…338




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


赋值语句…340


赋值语句形式….341


序列赋值…..342


Python 3.X中的扩展序列解包 ….345


多目标赋值349


增量赋值…..350


变量命名规则….353


Python中的废弃协议…..355


表达式语句356


表达式语句和原位置修改 ….358


打印操作…358


Python 3.X的print函数..359


Python 2.X的print语句..362


打印流重定向….363


版本中立的打印367


为什么你要注意:print和stdout .369


本章小结…370


本章习题…370


习题解答…370


第12章 if测试和语法规则 …..372


if语句.372


一般形式…..372


基础示例…..373


多路分支…..373


复习Python语法规则375


代码块分隔符:缩进规则 ….377


语句分隔符:行与行间连接符 …378


一些特殊情况….379


真值和布尔测试.381


if/else三元表达式…..383


请留意:布尔值384


本章小结…386


本章习题…386


习题解答…386




第13章 while循环和for循环 .. 387


while循环..387


一般形式…..387


示例….388


break、continue、pass和循环的else ..389


一般循环形式….389


pass…..389


continue.391


break…391


循环的else…392


请留意:仿真C 语言的while循环 ….393


for循环394


一般形式…..394


示例….395


请留意:文件扫描器…..400


编写循环的技巧.402


计数器循环:range.402


序列扫描:while和range vs for ..403


序列乱序器:range和len 404


非穷尽遍历:range vs分片 ..405


修改列表:range vs推导 406


并行遍历:zip和map…..407


同时给出偏移量和元素:enumerate 410


请留意:shell命令及其他 …. 411


本章小结…414


本章习题…414


习题解答…414


第14章 迭代和推导 .. 416


迭代器:初次探索….417


迭代协议:文件迭代器.417


手动迭代:iter和next….420


其他内置类型可迭代对象 ….423


列表推导:初次深入探索….425


列表推导基础….426


在文件上使用列表推导.427


扩展的列表推导语法…..428


其他迭代上下文.430


Python 3.X新增的可迭代对象 …..435


对Python 2.X版本代码的影响:利与弊 .435


range可迭代对象…..436


map、zip和filter可迭代对象 437


多遍迭代器vs单遍迭代器 ….439


字典视图可迭代对象…..440


其他迭代话题…..441


本章小结…442


本章习题…442


习题解答…442


第15章 文档 …444


Python文档资源..444


#注释..445


dir函数..445


文档字符串:__doc__…447


PyDoc:help函数….450


PyDoc:HTML报告453


改变PyDoc的颜色…456


超越文档字符串:Sphinx ….461


标准手册集462


网络资源…..463


已出版的书籍….463


常见代码编写陷阱….463


本章小结…465


本章习题…466


习题解答…466


第三部分练习题.467


第四部分 函数和生成器


第16章 函数基础 ..473


为何使用函数…..474


编写函数…475


def语句..476


def语句执行于运行时…477


**个示例:定义和调用….478


定义….478


调用….478


Python中的多态479


第二个示例:寻找序列的交集 ….480


定义….480


调用….481


重访多态…..482


局部变量…..482


本章小结…483


本章习题…483


习题解答…483


第17章 作用域 485


Python作用域基础….485


作用域细节486


变量名解析:LEGB规则 …..488


作用域实例490


内置作用域491


打破Python 2.X的小宇宙 …..494


global语句.494


程序设计:*少化全局变量 495


程序设计:*小化跨文件的修改 …..497


其他访问全局变量的方式 ….498


作用域和嵌套函数….499


嵌套作用域的细节..500


嵌套作用域举例500


工厂函数:闭包501


使用默认值参数来保存外层作用域的状态 …..503


Python 3.X中的nonlocal语句507


nonlocal基础…..508


nonlocal应用…..509


为什么选nonlocal?状态保持备选项511


nonlocal变量的状态:仅适用于Python 3.X …. 511


全局变量的状态:只有一份副本 …..512


类的状态:显式属性(预习) …513


函数属性的状态:Python 3.X和Python 2.X的异同 ….514


请留意:定制open..516


本章小结…518


本章习题…518


习题解答…520


第18章 参数 …521


参数传递基础…..521


参数和共享引用522


避免修改可变参数..524


模拟输出参数和多重结果 ….525


特殊的参数匹配模式526


参数匹配基础….526


参数匹配语法….527


更深入的细节….528


关键字参数和默认值参数的示例 …..529


可变长参数的实例..532


Python 3.X的keyword-only参数 .536


min提神小例.539


满分….540


附加分541


……

OReilly精品图书系列PYTHON学习手册(原书第5版) 作者简介

Mark Lutz是一位世界级的Python培训讲师。他是Python畅销书籍的作者,同时从1992年起就成为Python社区的引*ling*者。Mark有着30余年的软件开发经验,也是《Python编程》《Python袖珍指南》等书的作者。

备用下载地址:

链接2:点击下载 (百度网盘备用,解压密码: 8986)

链接3:点击下载 (UC网盘备用,解压密码: 8986)

链接4:点击下载 (迅雷网盘备用,解压密码: 8986)