学习Python的主要内建对象类型:数字、列表和字典。使用Python语句创建和处理对象,并且学习Python的通用语法模型。使用函数构造和重用代码,函数是Python的基本过程工具。学习Python模块:封装语句、函数以及其他工具,以便构建较大的组件。学习Python的面向对象编程工具,用于组织程序代码。学习异常处理模型,以及用于编写较大程序的开发工具。了解高级Python工具,如装饰器、描述器、元类和Unicode处理等。
Google和YouTube由于PythonF的高可适应性、易于维护以及适合于快速开发而采用它。《Python学习手册(第4版)》将帮助你使用Python编写出高质量、高效的并且易于与其他语言和工具集成的代码。《Python学习手册(第4版)》根据Python专家MarkLutz的著名培训课程编写而成,是易于掌握和自学的Python教程。
《Python学习手册(第4版)》每一章都对Python语言的关键内容做单独讲解,并且配有章首习题,便于你学习新的技能并巩固加深自己的理解。书中配有大量注释的示例以及图表,它们都将帮助你轻松地学习Python3.0。
鲁特兹(Mark Lutz),的Python培训讲师。他是畅销Python书籍的作者,从1992年起,他就是Python社区的先锋。他也是《Programming Python》、《Python Pocket Reference》和《Learning Python》等书的作者。
前言
及时部分 使用入门
第1章 问答环节
人们为何使用Python
软件质量
开发效率
Python是"脚本语言"吗
好吧,Python的缺点是什么呢
如今谁在使用Python
使用Python可以做些什么
系统编程
用户图形接口
Internet脚本
组件集成
数据库编程
快速原型
数值计算和科学计算编程
游戏、图像、人工智能、XML、机器人等
Python如何获得支持
Python有哪些技术上的优点
面向对象
免费
可移植
功能强大
可混合
简单易用
简单易学
Python和其他语言比较起来怎么样
本章小结
本章习题
习题解答
Python是工程,不是艺术
第2章 Python如何运行程序
Python解释器简介
程序执行
程序员的视角
Python的视角
执行模块的变体
Python实现的替代者
执行优化工具
冻结二进制文件
其他执行选项
未来的可能性
本章小结
本章习题
习题解答
第3章 如何运行程序
交互提示模式下编写代码
交互地运行代码
为什么使用交互提示模式
使用交互提示模式
系统命令行和文件
及时段脚本
使用命令行运行文件
使用命令行和文件
UNIX可执行脚本(#!)
UNIX env查找技巧
点击文件图标
在Windows中点击图标
input的技巧
图标点击的其他限制
模块导入和重载
模块的显要特性:属性
import和reload的使用注意事项
使用exec运行模块文件
IDLE用户界面
IDLE基础
使用IDLE
高级IDLE工具
其他的IDE
其他启动选项
嵌入式调用
冻结二进制的可执行性
文本编辑器启动的选择
其他的启动选择
未来的可能
我应该选用哪种
调试Python代码
本章小结
本章习题
习题解答
及时部分 练习题
第二部分 类型和运算
第4章 介绍Python对象类型
为什么使用内置类型
Python的核心数据类型
数字
字符串
序列的操作
不可变性
类型特定的方法
寻求帮助
编写字符串的其他方法
模式匹配
列表
序列操作
类型特定的操作
边界检查
嵌套
列表解析
字典
映射操作
重访嵌套
键的排序:for 循环
迭代和优化
不存在的键:if 测试
元组
为什么要用元组
文件
其他文件类工具
其他核心类型
如何破坏代码的灵活性
用户定义的类
剩余的内容
本章小结
本章习题
习题解答
第5章 数字
Python的数字类型
数字常量
内置数学工具和扩展
Python表达式操作符
在实际应用中的数字
变量和基本的表达式
数字显示的格式
比较:一般的和连续的
str和repr显示格式
除法: 传统除法、Floor除法和真除法
整数精度
复数
十六进制、八进制和二进制记数
位操作
其他的内置数学工具
其他数字类型
小数数字
分数类型
集合
布尔型
数字扩展
本章小结
本章习题
习题解答
第6章 动态类型简介
缺少类型声明语句的情况
变量、对象和引用
类型属于对象,而不是变量
对象的垃圾收集
共享引用
共享引用和在原处修改
共享引用和相等
动态类型随处可见
本章小结
本章习题
习题解答
第7章 字符串
字符串常量
单双引号字符串是一样的
用转义序列代表特殊字节
raw字符串抑制转义
三重引号编写多行字符串块
实际应用中的字符串
基本操作
索引和分片
为什么要在意:分片
字符串转换工具
修改字符串
字符串方法
字符串方法实例:修改字符串
字符串方法实例:文本解析
实际应用中的其他常见字符串方法
最初的字符串模块(在Python 3.0中删除)
字符串格式化表达式
更高级的字符串格式化表达式
基于字典的字符串格式化
字符串格式化调用方法
基础知识
添加键、属性和偏移量
添加具体格式化
与%格式化表达式比较
为什么用新的格式化方法
通常意义下的类型分类
同样分类的类型共享其操作集合
可变类型能够在原处修改
本章小结
本章习题
习题解答
第8章 列表与字典
列表
实际应用中的列表
基本列表操作
列表迭代和解析
索引、分片和矩阵
原处修改列表
字典
实际应用中的字典
字典的基本操作
原处修改字典
其他字典方法
语言表
字典用法注意事项
为什么要在意字典接口
创建字典的其他方法
Python 3.0中的字典变化
本章小结
本章习题
习题解答
第9章 元组、文件及其他
元组
实际应用中的元组
为什么有了列表还要元组
文件
打开文件
使用文件
实际应用中的文件
其他文件工具
重访类型分类
为什么要在意操作符重载
对象灵活性
引用 VS 拷贝
比较、相等性和真值
Python 3.0的字典比较
Python中真和假的含义
Python的类型层次
Type对象
Python中的其他类型
内置类型陷阱
赋值生成引用,而不是拷贝
重复能够增加层次深度
留意循环数据结构
不可变类型不可以在原处改变
本章小结
本章习题
习题解答
第二部分练习题
第三部分 语句和语法
第10章 Python语句简介
重访Python程序结构
Python的语句
两个if的故事
Python增加了什么
Python删除了什么
为什么使用缩进语法
几个特殊实例
简短实例:交互循环
一个简单的交互式循环
对用户输入数据做数学运算
用测试输入数据来处理错误
用try语句处理错误
嵌套代码三层
本章小结
本章习题
习题解答
第11章 赋值、表达式和打印
赋值语句
赋值语句的形式
序列赋值
Python 3.0中的扩展序列解包
多目标赋值语句
增强赋值语句
变量命名规则
Python的废弃协议
表达式语句
表达式语句和在原处的修改
打印操作
Python 3.0的print函数
Python 2.6 print语句
打印流重定向
版本独立的打印
为什么要注意print和stdout
本章小结
本章习题
习题解答
第12章 if测试和语法规则
if语句
通用格式
基本例子
多路分支
Python语法规则
代码块分隔符
语句的分隔符
一些特殊情况
真值测试
if/else三元表达式
为什么要在意布尔值
本章小结
本章习题
习题解答
第13章 while和for循环
while循环
一般格式
例子
break、continue、pass和循环else
一般循环格式
pass
continue
break
循环else
为什么要在意"模拟C 语言的while循环"
for循环
一般格式
例子
为什么要在意"文件扫描"
编写循环的技巧
循环计数器:while和range
非完备遍历:range和分片
修改列表:range
并行遍历:zip和map
产生偏移和元素:enumerate
本章小结
本章习题
习题解答
第14章 迭代器和解析,及时部分
迭代器:初探
文件迭代器
手动迭代:iter和next
其他内置类型迭代器
列表解析:初探
列表解析基础知识
在文件上使用列表解析
扩展的列表解析语法
其他迭代环境
Python 3.0中的新的可迭代对象
range迭代器
map、zip和filter迭代器
多个迭代器 VS单个迭代器
字典视图迭代器
其他迭代器主题
本章小结
本章习题
习题解答
第15章 文档
Python文档资源
#注释
dir函数
文档字符串:__doc__
PyDoc:help函数
PyDoc:HTML报表
标准手册集
网络资源
已出版的书籍
常见编写代码的陷阱
本章小结
本章习题
习题解答
第三部分练习题
第四部分 函数
第16章 函数基础
为何使用函数
编写函数
def语句
def语句是实时执行的
及时个例子:定义和调用
定义
调用
Python中的多态
第二个例子:寻找序列的交集
定义
调用
重访多态
本地变量
本章小结
本章习题
习题解答
第17章 作用域
Python作用域基础
作用域法则
变量名解析:LEGB原则
作用域实例
内置作用域
在Python 2.6中违反通用性
global语句
最小化全局变量
最小化文件间的修改
其他访问全局变量的方法
作用域和嵌套函数
嵌套作用域的细节
嵌套作用域举例
nonlocal语句
nonlocal基础
nonlocal应用
为什么使用nonlocal
本章小结
本章习题
习题解答
第18章 参数
传递参数
参数和共享引用
避免可变参数的修改
对参数输出进行模拟
特定的参数匹配模型
基础知识
匹配语法
细节
关键字参数和默认参数的实例
任意参数的实例
Python 3.0 Keyword-Only参数
min调用
满分
加分点
结论
一个更有用的例子:通用set函数
模拟Python 3.0 print函数
使用Keyword-Only参数
为什么要在意:关键字参数
本章小结
本章习题
习题解答
第19章 函数的高级话题
函数设计概念
递归函数
用递归求和
编码替代方案
循环语句VS递归
处理任意结构
函数对象:属性和注解
间接函数调用
函数内省
函数属性
Python 3.0中的函数注解
匿名函数: lambda
lambda表达式
为什么使用lambda
如何(不要)让Python代码变得晦涩难懂
嵌套lambda和作用域
为什么要在意:回调
在序列中映射函数:map
函数式编程工具:filter和reduce
本章小结
本章习题
习题解答
第20章 迭代和解析,第二部分
回顾列表解析:函数式编程工具
列表解析与map
增加测试和嵌套循环
列表解析和矩阵
理解列表解析
为什么要在意:列表解析和map
重访迭代器:生成器
生成器函数:yield VS return
生成器表达式:迭代器遇到列表解析
生成器函数 VS 生成器表达式
生成器是单迭代器对象
用迭代工具模拟zip和map
为什么你会留意:单次迭代
内置类型和类中的值生成
Python 3.0解析语法概括
解析集合和字典解析
针对集合和字典的扩展的解析语法
对迭代的各种方法进行计时
对模块计时
计时脚本
计时结果
计时模块替代方案
其他建议
函数陷阱
本地变量是静态检测的
默认和可变对象
没有return语句的函数
嵌套作用域的循环变量
本章小结
本章习题
习题解答
第四部分练习题
第五部分 模块
第21章 模块:宏伟蓝图
为什么使用模块
Python程序架构
如何组织一个程序
导入和属性
标准库模块
import如何工作
1.搜索
2.编译(可选)
3.运行
模块搜索路径
配置搜索路径
搜索路径的变动
sys.path列表
模块文件选择
高级的模块选择概念
第三方工具:distutils
本章小结
本章习题
习题解答
第22章 模块代码编写基础
模块的创建
模块的使用
import语句
from语句
from 语句
导入只发生一次
import和from是赋值语句
文件间变量名的改变
import和from的对等性
from语句潜在的陷阱
模块命名空间
文件生成命名空间
属性名的点号运算
导入和作用域
命名空间的嵌套
重载模块
reload基础
reload实例
为什么要在意:模块重载
本章小结
本章习题
习题解答
第23章 模块包
包导入基础
包和搜索路径设置
__init__.py包文件
包导入实例
包对应的from语句和import语句
为什么要使用包导入
三个系统的传说
包相对导入
Python 3.0中的变化
相对导入基础知识
为什么使用相对导入
相对导入的作用域
模块查找规则总结
相对导入的应用
为什么要在意:模块包
本章小结
本章习题
习题解答
第24章 高级模块话题
在模块中隐藏数据
最小化from 的破坏:_X和__all__
启用以后的语言特性
混合用法模式:__name__和__main__
以__name__进行单元测试
使用带有__name__的命令行参数
修改模块搜索路径
Import语句和from语句的as扩展
模块是对象:元程序
用名称字符串导入模块
过渡性模块重载
模块设计理念
模块陷阱
顶层代码的语句次序的重要性
from复制变量名,而不是连接
from 会让变量语义模糊
reload不会影响from导入
reload、from以及交互模式测试
递归形式的from导入无法工作
本章小结
本章习题
习题解答
第五部分练习题
第六部分 类和OOP
第25章 OOP:宏伟蓝图
为何使用类
概览OOP
属性继承搜索
类和实例
类方法调用
编写类树
OOP是为了代码重用
本章小结
本章习题
习题解答
第26章 类代码编写基础
类产生多个实例对象
类对象提供默认行为
实例对象是具体的元素
及时个例子
类通过继承进行定制
第二个例子
类是模块内的属性
类可以截获Python运算符
第三个例子
为什么要使用运算符重载
世界上最简单的Python类
类与字典的关系
本章小结
本章习题
习题解答
第27章 更多实例
步骤1:创建实例
编写构造函数
在进行中测试
以两种方式使用代码
版本差异提示
步骤2:添加行为方法
编写方法
步骤3:运算符重载
提供打印显示
步骤4:通过子类定制行为
编写子类
扩展方法:不好的方式
扩展方法:好的方式
多态的作用
继承、定制和扩展
OOP:大思路
步骤5:定制构造函数
OOP比我们认为的要简单
组合类的其他方式
在Python 3.0中捕获内置属性
步骤6:使用内省工具
特殊类属性
一种通用显示工具
实例与类属性的关系
工具类的命名考虑
类的最终形式
步骤7(一步):把对象存储到数据库中
Pickle和Shelve
在shelve数据库中存储对象
交互地探索shelve
更新shelve中的对象
未来方向
本章小结
本章习题
习题解答
第28章 类代码编写细节
class语句
一般形式
例子
方法
例子
调用超类构造函数
其他方法调用的可能性
继承
属性树的构造
继承方法的专有化
类接口技术
抽象超类
Python 2.6和Python 3.0的抽象超类
命名空间:完整的内容
简单变量名:如果赋值就不是全局变量
属性名称:对象命名空间
Python命名空间的"禅":赋值将变量名分类
命名空间字典
命名空间链接
回顾文档字符串
对于那些想要开始使用Python编程的人来说,本书是我所推荐图书中的。"
——Doug Hellmann Racemi公司,高级软件工程师
这本书不错,讲的很深入,不过初学者读起来也不困难。
书质非常不错,里面质量非常棒,准大一新生,准备提前预习一下
虽然书的确不错,不过后来在网上找到了Python简明教程的电子书,,所以这本书看得比较少。但是书的确是不错的
最好的python基础书 最好的python基础书
不错的书~~~学习 当当包装物流都很好 活动力度大 给力
建议无论初学者,还是经验丰富的人,都不要购买,真的
学习python的不二之选 对于入门有相当大的帮助 查询方便
虽然写得有点啰嗦,但真是非常详细、全面,能很好的进行学习,学习Python的不二选择。
书很不错朋友推荐,当当买书更实惠,书更好,好书是学习奋斗开始!
内容不错,个人觉得是个不错的学习工具,纸质还可以,就是有点透,可能因为书页数太多了吧。
这次趁着当当便宜买的,整体来讲东西不错,就是包装有些破损,希望下次运输注意。快递服务态度很好。
总体还行吧,求内容没细看,大致看一下还不错,只是包装的塑料膜破损,上册书皮有褶皱,三分一书页有折痕。有点心疼。
Python最好的教程,从0起步的书,目前当工具书用
书脊压皱了,不影响阅读。很厚实的一本书,看起来还是挺快的。觉得这本书适合初学者且不急着用python的人看。如果不讨厌看电子版、有一台不错的平板的话,买的时候还是考虑一下吧(这个价格的确有点贵了)。
Python学习手册:第4版 是我学习PYTHON必备参考书
Python入门经典书籍,内容不需评论。但是强烈建议当当网改用纸盒包装,就这么随随便便放在纸袋子里,一路上磕磕碰碰,书很容易破损的。我收到时书脊处就被摔坏了,不过懒得换了,浪费时间。
送来的书很脏……不过这本书很适合Python基础学习
外国人写的书基本上都是超级详细的。就是一个Python详细介绍。没有算法之类。
对于我这样一个编程菜鸟来说,选择什么样的方向很重要,在学习完当前流行的语言后,python这样新的语言就是我想学习掌握的新的一项技能。而我认为本书是学习python的最佳教材,深入浅出,详尽生动,所以我也希望有更多的人选择这本书!
《Python学习手册:第4版》从以下3个方面做出了修改: ■ 覆盖了Python 3.0和Python 2.6,本书强调Python 3.0,但是对Python 2.6中的不同之处给出了提示。 ■ 包含了一些新的章节,主要介绍高级的核心语言话题。 ■ 重新组织了一些已有的材料,并且使用新的示例扩展它们以便更清楚。 我(作者Mark Lutz)在2009年撰写本书这一版时,Python分为两支——Python 3.0是新兴的版本并且不兼容地修改了该语言;Python 2.6保持与大量已有的Python代码向后兼容。尽管Python 3被视作是Python的未来,Python 2仍然使用广泛并且会在未来的几年内与Python 3并列地得到支持。尽管只是同一种语言的不同版本,但Python 3.0几乎无法运行为之前版本编写的代码(单单print从语句修改为函数,听上去更合理,但是,它几乎影响到所有已经编写好的Python程序)。 版本的划分使得程序员和图书作者都陷入了两难的境地。尽管编写一本好像Python 2不存在而只介绍Python 3的图书很容易,但这可能无法满足大量基于已有代码的Python用户的需求。大量已有代码都是针对Python 2编写的,并且它们不会很快过时。尽管现在的初学者更关注Python 3,但如果他们必须使用过去编写的代码,那么就必须熟悉Python 2。所有的第三方库和扩展都移植到Python 3可能还需要数年时间,所以Python 2这一分支可能不完全是临时性的。 覆盖Python 3.0和Python 2.6 为了解决这一分歧并且满足所有潜在读者的需求,《Python学习手册》第4版更新为覆盖Python 3.0和Python 2.6(以及Python 3.X和Python 2.X系列的后续)。本书针对使用Python 2编程的程序员、使用Python 3的程序员,以及介于这二者之间的程序员。 也就是说,你可以使用本书来学习任何的Python版本。尽管这里主要关注Python 3.0,但Python 2.6的不同之处和工具也都针对使用旧代码的程序员给出了提示。尽管这两个版本大部分是相同的,但它们还是在一些重要的方面有所不同,对此我将指出两者的区别。 例如,在大多数示例中,我们使用Python 3.0的print调用,但是,我也将介绍Python 2.6的print语句,以便使你能够理解较早的代码。我还广泛地介绍了新功能,例如Python 3.0中的nonlocal语句和Python 2.6以及Python 3.0中的字符串的format方法,当较早的Python中没有这样的扩展时,我将会指出来。 如果你初次学习Python并且不需要使用任何遗留代码,我鼓励你从Python 3.0开始,它清理了这一语言中长久以来的一些瑕疵,同时保留了所有最初的核心思想并且添加了一些漂亮的新工具。 当你阅读本书时,很多流行的Python库和工具可能也支持Python 3.0了,特别是在未来的Python 3.1版本中,可以预期文件I/O性能会有较大的提升。如果你使用基于Python 2.X的一个系统,将会发现本书解决了你所关心的问题,并且将帮助你在未来过渡到Python 3.0。 此外,本版也介绍了其他的Python 2和Python 3的版本,尽管一些旧的Python 2.X代码可能无法运行本书的所有示例。例如,尽管在Python 2.6和Python 3.0中都有类装饰器,但我们无法在还没有这一功能的旧Python 2.X中使用它。参见前言中的表0-1和表0-2,它们概括了Python 2.6和Python 3.0中的变化。 注意: 就在付梓前不久,本书中还添加了关于未来的Python 3.1版的一些突出的扩展的提示,如:字符串format方法调用中的逗号分隔符和自动字段编号、with语句中的多环境管理器语法、针对数字的新方法等。由于Python 3.1的主要目标是优化,本书也直接应用这一新。事实上,由于Python 3.1在Python 3.0后接踵而来,并且最新的Python通常是最好的可用Python,在本书中,术语“Python 3.0”通常指的是Python 3.0引入的但在整个Python 3.X版本中都将存在的语言变化。 新增章 尽管本版的主要目标是针对Python 3.0和Python 2.6更新之前的版本的示例和内容,但我们也增加了5章新内容,以介绍新的主题和增加的内容。 第27章是一个新的类教程,使用更加实际的示例来说明Python面向对象编程的基础知识。 第36章提供了关于Unicode和字节字符串的详细介绍,并且概括了Python 2.6和Python 3.0中字符串和文件的区别。 第37章介绍了特性这样的管理属性工具,并且对描述符给出了新的介绍。 第38章介绍了函数和类装饰器,并且给出了全面的示例。 第39章介绍了元类,并且将它们与描述符进行了比较和对比。 第27章针对Python中的类和OOP提供了一个渐进的、按部就班的教程。它基于我在近年所教授的培训课程中已经使用的一个现场展示,但是,为了在本书中使用已经对它进行了修改。该章设计来在比此前的示例更为实际的背景中展示OOP,并且说明类概念如何综合运用于较大的、实用的程序中。我期望它在这里与在实际的课程中一样有效。 后面新增的4章收录到了本书的最后一个新增部分中,即“高级话题”部分。尽管这些主题从技术上讲都属于核心语言,但不是每个Python程序员都需要深入了解Unicode文本或元类的细节。因此,这4章单独放到了新的部分中,并且正式地作为可选的阅读材料。例如,关于Unicode和二进制数据字符串的细节已经放入到了此部分中,因为大多数程序员使用简单的ASCII字符串,而不需要了解这些主题。类似地,装饰器和元类通常也只是API构建者才感兴趣的专门话题,而不是应用程序员所感兴趣的话题。 然而,如果你确实使用这些工具,或者使用代码来做这些工作,“高级话题”部分的章节应该能够帮助你掌握其基础知识。此外,这些章的示例包含了学习案例,这些案例把核心语言概念绑定到了一起,并且它们比本书其他部分的示例更充实。由于这个新的部分是可选阅读材料,所以该部分最后只有问答题但没有练习题。 已有内容的修改 此外,之前版本的一些内容已经重新组织了,或者用新的示例进行了补充。例如多继承,在第30章增加了列出类树的一个新的学习示例;第20章增加了手动实现map和zip的生成器的示例;第31章新增的代码说明了静态方法和类方法;第23章介绍了包相对导入;第29章的示例介绍了_contains_、_bool_和_index_运算符重载方法,以及针对分片和比较的新的重载协议。 本版还进行了一些结构上的调整以便更清晰。例如,为了融入新的内容和主题,并且为了避免各章主题的重叠,将前5章划分为两部分。这样一来关于运算符重载、作用域和参数、异常语句细节,以及解析和迭代主题就都有了新的独立的章。已有的章内部也进行了一些重新排序,以便更好地介绍主题。 本版还试图通过一些重新排序来减少一些向后引用,尽管Python 3.0的变化使得在某些情况下不
Python学习手册:第4版(涵盖Python2.6和3.X
学习Python的经典著作,本书比较全面有深度,作者是领域内的大牛,做出来的书质量很好。
印刷质量不错,浏览了几页,没有发现错漏现象。原定价119元。里面还有一份调查问卷作为回执,可以回寄给O'REILLY。不过得自己出邮资,也没说有奖啊。封底有防伪标签。至于书的内容,得仔细看看才能评价。
学习Python的很好的书籍,讲解的非常详细,包含2.6和3.X版本的,让读者能轻松应对各版本的不同,更加全面的理解Python
翻译还能更差一点吗?以后我买书避开这俩翻译
包装就一个塑料袋 太简陋了吧 书都被折成这样了
一直在看这本书,内容非常全面,适合从0基础开始学习的,有一点点的遗憾是,这本书的略显啰嗦,上下册够有1300多页了,看了一个月,菜看不到一半
书中内容非常翔实,知识点讲的非常透彻,既包含了2.x系列的内容,又以3.0内容为主,给后续的过度提供了良好的基础。作者在各章节讲解要点的同时不断强调Python的核心思想,对入门新手掌握Python精要能起到很好的作用。