《Python基础教程(第2版.修订版)》包括Python程序设计的方方面面,首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器。此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、等知识。后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了几个具有实际意义的Python项目的开发过程。
《Python基础教程(第2版.修订版)》内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合各个层次的Python开发人员阅读参考。
本书是经典的Python入门教程,层次鲜明,结构严谨,内容翔实,特别是后几章,作者将前面讲述的内容应用到10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程,手把手教授Python开发,让读者从项目中领略Python的真正魅力。
本书既适合初学者夯实基础,又能帮助Python程序员提升技能,即使是Python方面的技术专家,也能从书里找到耳目一新的内容。
Magnus Lie Hetland 挪威科技大学副教授,教授算法。黑客,喜欢钻研新锐编程语言,是Python语言的坚定支持者。他写过很多Python方面的书和在线教程,比如深受读者欢迎的网上教程Instant Python。此外他还是一名业余话剧演员,从1985年首次登台至今,已经参演数十部话剧。
第1章快速改造:基础知识
1.1安装Python
1.1.1Windows
1.1.2Linux和UNIX
1.1.3苹果机(Macintosh)
1.1.4其他发行版本
1.1.5时常关注,保持更新
1.2交互式解释器
1.3算法是什么
1.4数字和表达式
1.4.1长整数
1.4.2十六进制和八进制
1.5变量
1.6语句
1.7获取用户输入
1.8函数
1.9模块
1.9.1cmath和复数
1.9.2回到__future__
1.10保存并执行程序
1.10.1通过命令提示符运行Python脚本
1.10.2让脚本像普通程序一样运行
1.10.3注释
1.11字符串
1.11.1单引号字符串和转义引号
1.11.2拼接字符串
1.11.3字符串表示,str和repr
1.11.4input和raw_input的比较
1.11.5长字符串、原始字符串和Unicode
1.12小结
1.12.1本章的新函数
1.12.2接下来学什么
第2章列表和元组
2.1序列概览
2.2通用序列操作
2.2.1索引
2.2.2分片
2.2.3序列相加
2.2.4乘法
2.2.5成员资格
2.2.6长度、最小值和较大值
2.3列表:Python的“苦力”
2.3.1list函数
2.3.2基本的列表操作
2.3.3列表方法
2.4元组:不可变序列
2.4.1tuple函数
2.4.2基本元组操作
2.4.3那么,意义何在
2.5小结
2.5.1本章的新函数
2.5.2接下来学什么
第3章使用字符串
3.1基本字符串操作
3.2字符串格式化:精简版
3.3字符串格式化:完整版
3.3.1简单转换
3.3.2字段宽度和精度
3.3.3符号、对齐和用0填充
3.4字符串方法
3.4.1find
3.4.2join
3.4.3lower
3.4.4replace
3.4.5split
3.4.6strip
3.4.7translate
3.5小结
3.5.1本章的新函数
3.5.2接下来学什么
第4章字典:当索引不好用时
4.1字典的使用
4.2创建和使用字典
4.2.1dict函数
4.2.2基本字典操作
4.2.3字典的格式化字符串
4.2.4字典方法
4.3小结
4.3.1本章的新函数
4.3.2接下来学什么
第5章条件、循环和其他语句
5.1print和import的更多信息
5.1.1使用逗号输出
5.1.2把某件事作为另一件事导入
5.2赋值魔法
5.2.1序列解包
5.2.2链式赋值
5.2.3增量赋值
5.3语句块:缩排的乐趣
5.4条件和条件语句
5.4.1这就是布尔变量的作用
5.4.2条件执行和 if 语句
5.4.3else子句
5.4.4elif子句
5.4.5嵌套代码块
5.4.6更复杂的条件
5.4.7断言
5.5循环
5.5.1while循环
5.5.2for循环
5.5.3循环遍历字典元素
5.5.4一些迭代工具
5.5.5跳出循环
5.5.6循环中的else子句
5.6列表推导式——轻量级循环
5.7三人行
5.7.1什么都没发生
5.7.2使用del删除
5.7.3使用exec和eval执行和求值字符串
5.8小结
5.8.1本章的新函数
5.8.2接下来学什么
第6章抽象
6.1懒惰即美德
6.2抽象和结构
6.3创建函数
6.3.1文档化函数
6.3.2并非真正函数的函数
6.4参数魔法
6.4.1值从哪里来
6.4.2我能改变参数吗
6.4.3关键字参数和默认值
6.4.4收集参数
6.4.5参数收集的逆过程
6.4.6练习使用参数
6.5作用域
6.6递归
6.6.1两个经典:阶乘和幂
6.6.2另外一个经典:二分法查找
6.7小结
6.7.1本章的新函数
6.7.2接下来学什么
第7章更加抽象
7.1对象的魔力
7.1.1多态
7.1.2封装
7.1.3继承
7.2类和类型
7.2.1类到底是什么
7.2.2创建自己的类
7.2.3特性、函数和方法
7.2.4类的命名空间
7.2.5指定超类
7.2.6检查继承
7.2.7多个超类
7.2.8接口和内省
7.3一些关于面向对象设计的思考
7.4小结
7.4.1本章的新函数
7.4.2接下来学什么
第8章异常
8.1什么是异常
8.2按自己的方式出错
8.2.1raise语句
8.2.2自定义异常类
8.3捕捉异常
8.4不止一个except子句
8.5用一个块捕捉两个异常
8.6捕捉对象
8.7真正的全捕捉
8.8万事大吉
8.9……
8.10异常和函数
8.11异常之禅
8.12小结
8.12.1本章的新函数
8.12.2接下来学什么
第9章魔法方法、属性和迭代器
9.1准备工作
9.2构造方法
9.2.1重写一般方法和特殊的构造方法
9.2.2调用未绑定的超类构造方法
9.2.3使用super函数
9.3成员访问
9.3.1基本的序列和映射规则
9.3.2子类化列表,字典和字符串
9.4更多魔力
9.5属性
9.5.1property函数
9.5.2静态方法和类成员方法
9.5.3__getattr__、__setattr__和它的朋友们
9.6迭代器
9.6.1迭代器规则
9.6.2从迭代器得到序列
9.7生成器
9.7.1创建生成器
9.7.2递归生成器
9.7.3通用生成器
9.7.4生成器方法
9.7.5模拟生成器
9.8八皇后问题
9.8.1生成器和回溯
9.8.2问题
9.8.3状态表示
9.8.4寻找冲突
9.8.5基本情况
9.8.6需要递归的情况
9.8.7打包
9.9小结
9.9.1本章的新函数
9.9.2接下来学什么
第10章自带电池
10.1模块
10.1.1模块是程序
10.1.2模块用于定义
10.1.3让你的模块可用
10.1.4包
10.2探究模块
10.2.1模块中有什么
10.2.2用help获取帮助
10.2.3文档
10.2.4使用源代码
10.3标准库:一些最爱
10.3.1sys
10.3.2os
10.3.3fileinput
10.3.4集合、堆和双端队列
10.3.5time
10.3.6random
10.3.7shelve
10.3.8re
10.3.9其他有趣的标准模块
10.4小结
10.4.1本章的新函数
10.4.2接下来学什么
第11章文件和流
11.1打开文件
11.1.1文件模式
11.1.2缓冲
11.2基本的文件方法
11.2.1读和写
11.2.2管式输出
11.2.3读写行
11.2.4关闭文件
11.2.5使用基本文件方法
11.3对文件内容进行迭代
11.3.1按字节处理
11.3.2按行操作
11.3.3读取所有内容
11.3.4使用fileinput实现懒惰行迭代
11.3.5文件迭代器
11.4小结
11.4.1本章的新函数
11.4.2接下来学什么
第12章图形用户界面
12.1丰富的平台
12.2下载和安装wxPython
12.3创建示例GUI应用程序
12.3.1开始
12.3.2窗口和组件
12.3.3标签、标题和位置
12.3.4更智能的布局
12.3.5事件处理
12.3.6完成了的程序
12.4但是我宁愿用……
12.4.1使用Tkinter
12.4.2使用Jython和Swing
12.4.3使用其他开发包
12.5小结
第13章数据库支持
13.1Python数据库编程接口(API)
13.1.1全局变量
13.1.2异常
13.1.3连接和游标
13.1.4类型
13.2SQLite和PySQLite
13.2.1入门
13.2.2数据库应用程序示例
13.3小结
13.3.1本章的新函数
13.3.2接下来学什么
第14章网络编程
14.1少数几个网络设计模块
14.1.1socket模块
14.1.2urllib和urllib2模块
14.1.3其他模块
14.2SocketServer和它的朋友们
14.3多个连接
14.3.1使用SocketServer进行分叉和线程处理
14.3.2带有select和poll的异步I/O
14.4Twisted
14.4.1下载并安装Twisted
14.4.2编写Twisted服务器
14.5小结
14.5.1本章的新函数
14.5.2接下来学什么
第15章Python和Web
15.1屏幕抓取
15.1.1Tidy和XHTML解析
15.1.2Beautiful Soup
15.2使用CGI创建动态网页
15.2.1及时步:准备网络服务器
15.2.2第二步:加入Pound Bang行
15.2.3第三步:设置文件权限
15.2.4CGI安全风险
15.2.5简单的CGI脚本
15.2.6使用cgitb调试
15.2.7使用cgi模块
15.2.8简单的表单
15.3更进一步:mod_python
15.3.1安装mod_python
15.3.2CGI处理程序
15.3.3PSP
15.3.4
15.4网络应用程序框架
15.5Web服务:正确分析
15.5.1RSS和相关内容
15.5.2使用XML-RPC进行远程过程调用
15.5.3SOAP
15.6小结
15.6.1本章的新函数
15.6.2接下来学什么
第16章测试
16.1先测试,后编码
16.1.1的需求说明
16.1.2为改变而计划
16.1.3测试的4个步骤
16.2测试工具
16.2.1doctest
16.2.2unittest
16.3单元测试以外的内容
16.3.1使用PyChecker和PyLint检查源代码
16.3.2性能分析
16.4小结
16.4.1本章的新函数
16.4.2接下来学什么
第17章扩展Python
17.1考虑哪个更重要
17.2非常简单的途径:Jython和IronPython
17.3编写C语言扩展
17.3.1SWIG
17.3.2自己研究
17.4小结
17.4.1本章的新函数
17.4.2接下来学什么
第18章程序打包
18.1Distutils基础
18.2打包
18.2.1建立存档文件
18.2.2创建Windows安装程序或RPM包
18.3编译扩展
18.4使用py2exe创建可执行程序
18.5小结
18.5.1本章的新函数
18.5.2接下来学什么
第19章好玩的编程
19.1为什么要好玩
19.2程序设计的柔术
19.3原型设计
19.4配置
19.4.1提取常量
19.4.2配置文件
19.5日志记录
19.6如果还没烦
19.7如果还想学
19.8小结
第20章项目1:即时标记
20.1问题是什么
20.2有用的工具
20.3准备工作
20.4初次实现
20.4.1找出文本块
20.4.2添加一些标记
20.5再次实现
20.5.1处理程序
20.5.2处理程序的超类
20.5.3规则
20.5.4规则的超类
20.5.5过滤器
20.5.6分析器
20.5.7构造规则和过滤器
20.5.8整合
20.6进一步探索
第21章项目2:画幅好画
21.1问题
21.2有用的工具
21.3准备工作
21.4初次实现
21.4.1用ReportLab画图
21.4.2生成折线
21.4.3编写原型
21.5再次实现
21.5.1获取数据
21.5.2使用LinePlot类
21.6进一步探索
第22章项目3:万能的XML
22.1问题
22.2有用的工具
22.3准备工作
22.4初次实现
22.4.1创建简单的内容处理器
22.4.2生成HTML页面
22.5再次实现
22.5.1调度程序的混入类
22.5.2实现首部、页脚和默认的处理程序
22.5.3对目录的支持
22.5.4事件处理程序
22.6进一步探索
第23章项目4:新闻聚合
23.1问题
23.2有用的工具
23.3准备工作
23.4初次实现
23.5再次实现
23.6进一步探索
第24章项目5:虚拟茶话会
24.1问题
24.2有用的工具
24.3准备工作
24.4初次实现
24.4.1ChatServer类
24.4.2ChatSession类
24.4.3整合
24.5再次实现
24.5.1基础命令解释
24.5.2房间
24.5.3登录和退出房间
24.5.4主聊天室
24.5.5新的服务器
24.6进一步探索
第25章项目6:使用CGI进行远程编辑
25.1问题
25.2有用的工具
25.3准备工作
25.4初次实现
25.5再次实现
25.5.1创建文件名表单
25.5.2创建编辑器的脚本
25.5.3编写保存脚本
25.5.4运行编辑器
25.6进一步探索
第26章项目7:自定义电子公告板
26.1问题
26.2有用的工具
26.3准备工作
26.4初次实现
26.5再次实现
26.5.1编写Main脚本
26.5.2编写View脚本
26.5.3编写Edit脚本
26.5.4编写Save脚本
26.5.5尝试使用
26.6进一步探索
第27章项目8:使用XML-RPC进行文件共享
27.1问题
27.2有用的工具
27.3准备工作
27.4初次实现
27.4.1实现一个简单的节点
27.4.2尝试使用首次实现
27.5再次实现
27.5.1创建客户端界面
27.5.2引发异常
27.5.3验证文件名
27.5.4尝试使用再次实现
27.6进一步探索
第28章项目9:文件共享2——GUI版本
28.1问题
28.2有用的工具
28.3准备工作
28.4初次实现
28.5再次实现
28.6进一步探索
第29章项目10:DIY街机游戏
29.1问题
29.2有用的工具
29.2.1pygame
29.2.2pygame.locals
29.2.3pygame.display
29.2.4pygame.font
29.2.5pygame.sprite
29.2.6pygame.mouse
29.2.7pygame.event
29.2.8pygame.image
29.3准备工作
29.4初次实现
29.5再次实现
29.6进一步探索
附录A简明版本
附录B
“本书系统地讲解了Python语言,后几章介绍的10个项目是本书的亮点。”
——RobertA.Gibson,软件工程师
“在介绍Python语言的图书中,本书是我见过的秀的一本,内容循序渐进,可读性强。强烈推荐给Python初学者。”
——Amazon.com
“结构安排合理、基础知识讲解到位、10个项目实用,……是为数不多的给真正的初学者写的入门书。”
——豆瓣网友评论
终于下决心好好学习python了,这本书是非常好的入门书籍,要多看,看过去了,回来再看收获大
python基础教程是学习这门语言中较好的一本入门书籍,国外的一些教材上也推荐读者阅读这本书籍。书的纸张泛黄,感觉不是新书一样,跟利用python进行数据分析那本书的纸张不在一个档次上。
Python入门书,但讲的不透彻,想深入学习的话还是建议看学习手册
看了一些 比较适合初学者 不过很多内容也可以网上找到 只不过看书更加的系统
有折痕,半本书都有折痕。封面的一个角都被裁剪掉了,这样的书也敢发货。里面的页张也有裁剪问题。
书皮折痕特别严重,侧边还有纸胶,打开书里面还有灰尘,很是郁闷
买来学习Python的,本书是讲Python基础的,适合初学者,如果有其他编程基础的话更好
书上用的是python2作为例子,只能对照着其他的书籍一起看,然后在查查帮助文档。毕竟拍森2和。拍森3不太一样。
这本书可以说很实用,和以前枯燥的学习思维完全不一样,绝对可以让你喜欢Python
帮人带的书,我自己读过前一版本,这本是修订版,内容适合初学者,讲解了python2及3的内容,如果是一位菜鸟想学习python推荐这书,上手快。
还不错的一本入门书,但是建议找视频一起看,书里面的逻辑十分清楚,然而个人认为听了相关的视频讲解在看书会有更加深刻的认知和感受,以及一定要安装软件,边学边操作。
书挺不错的,在一开始就浅引以后会用到的一些知识,让读者在一开始就能够快速上手写出程序来。丽激发了读者学习的兴趣又为后文知识的展开做铺垫。因为近期在忙着考试的事情所以只是看了二十几页,但就目前看来这本书没有太多废话,讲的东西都是直接可以上手的,不错。
很不错,里边的内容很详细,都感觉适合初学者,如果有语音底子的会学的更快,不用一周就能领会到,对于我这个半生不熟的,还是会慢点。书很好,好评
Python入门书中,这应该是最适合我的了,有些地方翻译不尽人意,但整体不错,作者好诙谐,我们国内老师也这样就好了
很不错的Python教程~可以好好地学了~
当当真是做的越来越差了。。。送过来包装坏了不说,书也有损。。
首先我要说的是,这本书知识密度很高,这点一定要赞一个!!与国内专著书籍一看块头就晕,看了内容更晕不同,这本书是给初学者看的!在信息量很大的前提下又不失自然地讲述,无疑是初学者最喜欢的方式!这本书,很好,很好!
书本说的很详细,可惜不是python3.0以前
这本书讲的很多东西过时了,讲的都是python2.4以及之前版本的东西,可是现在python软件已经最起码更新到3.6了。而且翻译水平实在不高,很多病句,不知所谓,看着闹心
Python入门必选教材,很适合初学者。推荐!
经典书籍。印数已经达到15万。这时要人手一册的节奏么?有人认为不适合初学者。那得看什么样的初学者了,如果一点编程基础也没有,也没人教,完全靠自己啃,可能难度略大些(这样的初学者,可以去了解一下head first python)。这本书把所有重要的基本知识整理的非常系统,清晰,工作中经常用作手册来查。再配合标准库文档。唯一的不足就是有些内容略陈旧,根据书中的内容去找网站,却发现网站已经停止更新(比如那个生成windows可执行程序的库,就已经整合到python网站,而不是书上给出的网站了)。但作为向导很好,至少让读者指导有这么个库可以用,给个寻找的方向。比更实用。
书很厚,内容充实!当当网物流真是差!!网站上显示第二天可以送到,结果隔了一天!说什么因为系统的问题?真是呵呵了,和自己显示的送达时间不符,发条短信就应付人了事!!如果知道是隔了一天送到,就不会在当当买书了!!
个人觉得比起Python核心编程,这个更好一点吧。
这本书,真是,作为个初学者看着评论买的,都说好,说什么后面的是个项目好!好个屁呀~我看别人的博客都比书写的好,完全不知道他在说什么,整个内容讲的逻辑简直就对不上,而且东西讲的一点都不深入,基本上全都是一笔带过,写了一堆跟技术无关的,完全就是凑字数来的!!!差评@!!!!!!!!!!!!!!!!!