Python基础教程(第2版•修订版)

0
(0)

Python基础教程(第2版•修订版)

作者:赫特兰

出版社:人民邮电出版社

原作名:BeginningPython:FromNovicetoProfessional,2ndEdition

译者:司维/曾军崴/谭颖华

出版年:2014-6-1

页数:470

定价:CNY79.00

装帧:平装

丛书:图灵程序设计丛书·Python系列

ISBN:9787115353528

内容简介
······

本书包括Python 程序设计的方方面面,首先从Python 的安装开始,随后介绍了Python 的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器。此后探讨了如何将Python 与数据库、网络、C 语言等工具结合使用,从而发挥出Python 的强大功能,同时介绍了Python 程序测试、打包、发布等知识。最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了几个具有实际意义的Python 项目的开发过程。

本书内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合各个层次的Python开发人员阅读参考。

作者简介
······

Magnus Lie Hetland

挪威科技大学副教授,教授算法。黑客,喜欢钻研新锐编程语言,是Python语言的坚定支持者。他写过很多Python方面的书和在线教程,比如深受读者欢迎的网上教程Instant Python。此外他还是一名业余话剧演员,从1985年首次登台至今,已经参演数十部话剧。

目录
······

第1章 快速改造:基础知识  1

1.1  安装Python  1

1.1.1  Windows  1

1.1.2  Linux和UNIX  3

1.1.3  苹果机(Macintosh)  4

1.1.4  其他发行版本  5

1.1.5  时常关注,保持更新  6

1.2  交互式解释器  6

1.3  算法是什么  7

1.4  数字和表达式  8

1.4.1  长整数  9

1.4.2  十六进制和八进制  10

1.5  变量  10

1.6  语句  11

1.7  获取用户输入  12

1.8  函数  13

1.9  模块  14

1.9.1  cmath和复数  14

1.9.2  回到__future__  15

1.10  保存并执行程序  15

1.10.1  通过命令提示符运行Python脚本  16

1.10.2  让脚本像普通程序一样运行  17

1.10.3  注释  18

1.11  字符串  19

1.11.1  单引号字符串和转义引号  19

1.11.2  拼接字符串  20

1.11.3  字符串表示,str和repr  20

1.11.4  input和raw_input的比较  21

1.11.5  长字符串、原始字符串和Unicode  22

1.12  小结  24

1.12.1  本章的新函数  25

1.12.2  接下来学什么  25

第2章 列表和元组  26

2.1  序列概览  26

2.2  通用序列操作  27

2.2.1  索引  27

2.2.2  分片  29

2.2.3  序列相加  31

2.2.4  乘法  31

2.2.5  成员资格  32

2.2.6  长度、最小值和最大值  33

2.3  列表:Python的“苦力”  34

2.3.1  list函数  34

2.3.2  基本的列表操作  34

2.3.3  列表方法  36

2.4  元组:不可变序列  41

2.4.1  tuple函数  42

2.4.2  基本元组操作  42

2.4.3  那么,意义何在  42

2.5  小结  43

2.5.1  本章的新函数  43

2.5.2  接下来学什么  43

第3章 使用字符串  44

3.1  基本字符串操作  44

3.2  字符串格式化:精简版  44

3.3  字符串格式化:完整版  46

3.3.1  简单转换  47

3.3.2  字段宽度和精度  47

3.3.3  符号、对齐和用0填充  47

3.4  字符串方法  49

3.4.1  find  49

3.4.2  join  50

3.4.3  lower  51

3.4.4  replace  51

3.4.5  split  52

3.4.6  strip  52

3.4.7  translate  52

3.5  小结  54

3.5.1  本章的新函数  54

3.5.2  接下来学什么  54

第4章 字典:当索引不好用时  55

4.1  字典的使用  55

4.2  创建和使用字典  56

4.2.1  dict函数  56

4.2.2  基本字典操作  57

4.2.3  字典的格式化字符串  58

4.2.4  字典方法  59

4.3  小结  64

4.3.1  本章的新函数  64

4.3.2  接下来学什么  64

第5章 条件、循环和其他语句  65

5.1  print和import的更多信息  65

5.1.1  使用逗号输出  65

5.1.2  把某件事作为另一件事导入  66

5.2  赋值魔法  67

5.2.1  序列解包  67

5.2.2  链式赋值  68

5.2.3  增量赋值  68

5.3  语句块:缩排的乐趣  69

5.4  条件和条件语句  69

5.4.1  这就是布尔变量的作用  69

5.4.2  条件执行和 if 语句  70

5.4.3  else子句  71

5.4.4  elif子句  71

5.4.5  嵌套代码块  71

5.4.6  更复杂的条件  72

5.4.7  断言  76

5.5  循环  76

5.5.1  while循环  77

5.5.2  for循环  77

5.5.3  循环遍历字典元素  78

5.5.4  一些迭代工具  79

5.5.5  跳出循环  80

5.5.6  循环中的else子句  82

5.6  列表推导式——轻量级循环  82

5.7  三人行  83

5.7.1  什么都没发生  84

5.7.2  使用del删除  84

5.7.3  使用exec和eval执行和求值字符串  85

5.8  小结  87

5.8.1  本章的新函数  88

5.8.2  接下来学什么  88

第6章 抽象  89

6.1  懒惰即美德  89

6.2  抽象和结构  90

6.3  创建函数  90

6.3.1  文档化函数  91

6.3.2  并非真正函数的函数  92

6.4  参数魔法  92

6.4.1  值从哪里来  93

6.4.2  我能改变参数吗  93

6.4.3  关键字参数和默认值  97

6.4.4  收集参数  99

6.4.5  参数收集的逆过程  101

6.4.6  练习使用参数  102

6.5  作用域  103

6.6  递归  105

6.6.1  两个经典:阶乘和幂  106

6.6.2  另外一个经典:二分法查找  107

6.7  小结  110

6.7.1  本章的新函数  110

6.7.2  接下来学什么  111

第7章 更加抽象  112

7.1  对象的魔力  112

7.1.1  多态  113

7.1.2  封装  115

7.1.3  继承  117

7.2  类和类型  117

7.2.1  类到底是什么  117

7.2.2  创建自己的类  118

7.2.3  特性、函数和方法  119

7.2.4  类的命名空间  121

7.2.5  指定超类  122

7.2.6  检查继承  122

7.2.7  多个超类  123

7.2.8  接口和内省  124

7.3  一些关于面向对象设计的思考  125

7.4  小结  125

7.4.1  本章的新函数  126

7.4.2  接下来学什么  126

第8章 异常  127

8.1  什么是异常  127

8.2  按自己的方式出错  127

8.2.1  raise语句  127

8.2.2  自定义异常类  128

8.3  捕捉异常  129

8.4  不止一个except子句  130

8.5  用一个块捕捉两个异常  131

8.6  捕捉对象  131

8.7  真正的全捕捉  132

8.8  万事大吉  132

8.9  最后……   134

8.10  异常和函数  134

8.11  异常之禅  135

8.12  小结  136

8.12.1  本章的新函数  137

8.12.2  接下来学什么  137

第9章 魔法方法、属性和迭代器  138

9.1  准备工作  138

9.2  构造方法  139

9.2.1  重写一般方法和特殊的构造方法  140

9.2.2  调用未绑定的超类构造方法  141

9.2.3  使用super函数  142

9.3  成员访问  143

9.3.1  基本的序列和映射规则  144

9.3.2  子类化列表,字典和字符串  146

9.4  更多魔力  147

9.5  属性  147

9.5.1  property函数  148

9.5.2  静态方法和类成员方法  149

9.5.3  __getattr__、__setattr__和它的朋友们  150

9.6  迭代器  151

9.6.1  迭代器规则  151

9.6.2  从迭代器得到序列  153

9.7  生成器  153

9.7.1  创建生成器  153

9.7.2  递归生成器  154

9.7.3  通用生成器  156

9.7.4  生成器方法  156

9.7.5  模拟生成器  157

9.8  八皇后问题  158

9.8.1  生成器和回溯  158

9.8.2  问题  159

9.8.3  状态表示  159

9.8.4  寻找冲突  159

9.8.5  基本情况  160

9.8.6  需要递归的情况  161

9.8.7  打包  162

9.9  小结  163

9.9.1  本章的新函数  164

9.9.2  接下来学什么  164

第10章 自带电池  165

10.1  模块  165

10.1.1  模块是程序  165

10.1.2  模块用于定义  167

10.1.3  让你的模块可用  169

10.1.4  包  171

10.2  探究模块  172

10.2.1  模块中有什么  172

10.2.2  用help获取帮助  173

10.2.3  文档  174

10.2.4  使用源代码  174

10.3  标准库:一些最爱  175

10.3.1  sys  175

10.3.2  os  176

10.3.3  fileinput  178

10.3.4  集合、堆和双端队列  180

10.3.5  time  184

10.3.6  random  185

10.3.7  shelve  188

10.3.8  re  191

10.3.9  其他有趣的标准模块  204

10.4  小结  205

10.4.1  本章的新函数  205

10.4.2  接下来学什么  206

第11章 文件和流  207

11.1  打开文件  207

11.1.1  文件模式  207

11.1.2  缓冲  208

11.2  基本的文件方法  209

11.2.1  读和写  209

11.2.2  管式输出  210

11.2.3  读写行  211

11.2.4  关闭文件  212

11.2.5  使用基本文件方法  213

11.3  对文件内容进行迭代  214

11.3.1  按字节处理  214

11.3.2  按行操作  215

11.3.3  读取所有内容  215

11.3.4  使用fileinput实现懒惰行迭代  216

11.3.5  文件迭代器  216

11.4  小结  217

11.4.1  本章的新函数  218

11.4.2  接下来学什么  218

第12章 图形用户界面  219

12.1  丰富的平台  219

12.2  下载和安装wxPython  220

12.3  创建示例GUI应用程序  221

12.3.1  开始  221

12.3.2  窗口和组件  222

12.3.3  标签、标题和位置  223

12.3.4  更智能的布局  225

12.3.5  事件处理  226

12.3.6  完成了的程序  226

12.4  但是我宁愿用……   228

12.4.1  使用Tkinter  229

12.4.2  使用Jython和Swing  229

12.4.3  使用其他开发包  230

12.5  小结  230

第13章 数据库支持  231

13.1  Python数据库编程接口(API)  232

13.1.1  全局变量  232

13.1.2  异常  233

13.1.3  连接和游标  233

13.1.4  类型  235

13.2  SQLite和PySQLite  235

13.2.1  入门  236

13.2.2  数据库应用程序示例  237

13.3  小结  239

13.3.1  本章的新函数  240

13.3.2  接下来学什么  240

第14章 网络编程  241

14.1  少数几个网络设计模块  241

14.1.1  socket模块  242

14.1.2  urllib和urllib2模块  243

14.1.3  其他模块  245

14.2  SocketServer和它的朋友们  246

14.3  多个连接  247

14.3.1  使用SocketServer进行分叉和线程处理  248

14.3.2  带有select和poll的异步I/O  249

14.4  Twisted  251

14.4.1  下载并安装Twisted  251

14.4.2  编写Twisted服务器  251

14.5  小结  253

14.5.1  本章的新函数  254

14.5.2  接下来学什么  254

第15章 Python和Web  255

15.1  屏幕抓取  255

15.1.1  Tidy和XHTML解析  256

15.1.2  Beautiful Soup  260

15.2  使用CGI创建动态网页  261

15.2.1  第一步:准备网络服务器  261

15.2.2  第二步:加入Pound Bang行  261

15.2.3  第三步:设置文件权限  262

15.2.4  CGI安全风险  263

15.2.5  简单的CGI脚本  263

15.2.6  使用cgitb调试  263

15.2.7  使用cgi模块  264

15.2.8  简单的表单  266

15.3  更进一步:mod_python  267

15.3.1  安装mod_python  268

15.3.2  CGI处理程序  269

15.3.3  PSP  270

15.3.4  发布  271

15.4  网络应用程序框架  273

15.5  Web服务:正确分析  274

15.5.1  RSS和相关内容  274

15.5.2  使用XML-RPC进行远程过程调用  275

15.5.3  SOAP  276

15.6  小结  276

15.6.1  本章的新函数  276

15.6.2  接下来学什么  276

第16章 测试  277

16.1  先测试,后编码  277

16.1.1  精确的需求说明  278

16.1.2  为改变而计划  279

16.1.3  测试的4个步骤  279

16.2  测试工具  280

16.2.1  doctest  280

16.2.2  unittest  282

16.3  单元测试以外的内容  285

16.3.1  使用PyChecker和PyLint检查源代码  285

16.3.2  性能分析  288

16.4  小结  289

16.4.1  本章的新函数  290

16.4.2  接下来学什么  290

第17章 扩展Python  291

17.1  考虑哪个更重要  291

17.2  非常简单的途径:Jython和IronPython  292

17.3  编写C语言扩展  294

17.3.1  SWIG  296

17.3.2  自己研究  299

17.4  小结  303

17.4.1  本章的新函数  304

17.4.2  接下来学什么  304

第18章 程序打包  305

18.1  Distutils基础  305

18.2  打包  307

18.2.1  建立存档文件  307

18.2.2  创建Windows安装程序或RPM包  308

18.3  编译扩展  309

18.4  使用py2exe创建可执行程序  310

18.5  小结  311

18.5.1  本章的新函数  311

18.5.2  接下来学什么  311

第19章 好玩的编程  312

19.1  为什么要好玩  312

19.2  程序设计的柔术  312

19.3  原型设计  313

19.4  配置  314

19.4.1  提取常量  314

19.4.2  配置文件  315

19.5  日志记录  317

19.6  如果还没烦  318

19.7  如果还想学  318

19.8  小结  319

第20章 项目1:即时标记  320

20.1  问题是什么  320

20.2  有用的工具  321

20.3  准备工作  321

20.4  初次实现  322

20.4.1  找出文本块  322

20.4.2  添加一些标记  323

20.5  再次实现  324

20.5.1  处理程序  325

20.5.2  处理程序的超类  325

20.5.3  规则  327

20.5.4  规则的超类  328

20.5.5  过滤器  328

20.5.6  分析器  328

20.5.7  构造规则和过滤器  329

20.5.8  整合  332

20.6  进一步探索  336

第21章 项目2:画幅好画  337

21.1  问题  337

21.2  有用的工具  338

21.3  准备工作  338

21.4  初次实现  339

21.4.1  用ReportLab画图  339

21.4.2  生成折线  340

21.4.3  编写原型  341

21.5  再次实现  342

21.5.1  获取数据  342

21.5.2  使用LinePlot类  343

21.6  进一步探索  344

第22章 项目3:万能的XML  345

22.1  问题  345

22.2  有用的工具  346

22.3  准备工作  347

22.4  初次实现  348

22.4.1  创建简单的内容处理器  348

22.4.2  生成HTML页面  350

22.5  再次实现  352

22.5.1  调度程序的混入类  352

22.5.2  实现首部、页脚和默认的处理程序  354

22.5.3  对目录的支持  354

22.5.4  事件处理程序  355

22.6  进一步探索  358

第23章 项目4:新闻聚合  359

23.1  问题  359

23.2  有用的工具  360

23.3  准备工作  360

23.4  初次实现  360

23.5  再次实现  363

23.6  进一步探索  369

第24章 项目5:虚拟茶话会  371

24.1  问题  371

24.2  有用的工具  371

24.3  准备工作  372

24.4  初次实现  373

24.4.1  ChatServer类  373

24.4.2  ChatSession类  374

24.4.3  整合  376

24.5  再次实现  377

24.5.1  基础命令解释  378

24.5.2  房间  378

24.5.3  登录和退出房间  379

24.5.4  主聊天室  379

24.5.5  新的服务器  380

24.6  进一步探索  384

第25章 项目6:使用CGI进行远程编辑  385

25.1  问题  385

25.2  有用的工具  385

25.3  准备工作  386

25.4  初次实现  386

25.5  再次实现  387

25.5.1  创建文件名表单  387

25.5.2  创建编辑器的脚本  388

25.5.3  编写保存脚本  389

25.5.4  运行编辑器  390

25.6  进一步探索  391

第26章 项目7:自定义电子公告板  393

26.1  问题  393

26.2  有用的工具  394

26.3  准备工作  394

26.4  初次实现  395

26.5  再次实现  398

26.5.1  编写Main脚本  399

26.5.2  编写View脚本  400

26.5.3  编写Edit脚本  401

26.5.4  编写Save脚本  403

26.5.5  尝试使用  404

26.6  进一步探索  404

第27章 项目8:使用XML-RPC进行文件共享  406

27.1  问题  406

27.2  有用的工具  407

27.3  准备工作  407

27.4  初次实现  408

27.4.1  实现一个简单的节点  408

27.4.2  尝试使用首次实现  413

27.5  再次实现  414

27.5.1  创建客户端界面  414

27.5.2  引发异常  415

27.5.3  验证文件名  416

27.5.4  尝试使用再次实现  419

27.6  进一步探索  420

第28章 项目9:文件共享2——GUI版本  421

28.1  问题  421

28.2  有用的工具  421

28.3  准备工作  421

28.4  初次实现  422

28.5  再次实现  424

28.6  进一步探索  427

第29章 项目10:DIY街机游戏  428

29.1  问题  428

29.2  有用的工具  429

29.2.1  pygame  429

29.2.2  pygame.locals  429

29.2.3  pygame.display  430

29.2.4  pygame.font  430

29.2.5  pygame.sprite  430

29.2.6  pygame.mouse  431

29.2.7  pygame.event  431

29.2.8  pygame.image  431

29.3  准备工作  431

29.4  初次实现  432

29.5  再次实现  434

29.6  进一步探索  442

附录A  简明版本  443

附录B  Python参考手册  450

附录C  在线资源  461

附录D  Python 3.0  464

"Python基础教程(第2版•修订版)"试读
······

现在正是做些改造的好时候 。通过阅读本章,你将学到如何控制计算机,方法是借助一门计算机能够理解的语言——Python。这里没什么特别难以理解的内容,只要对计算机基本的工作原理有些了解,就能跟着例子自己试着去做。本书会从极其简单的内容开始,把基础知识过一遍。不过Python是一门非常强大的语言,所以读者很快就可以完成一些相当高级的任务了。
本章首先会介绍如何安装所需的软件..

  • 第一章:快速改造:基础知识

评论 ······

翻译混乱,也是醉了

有不少不能忽略的小错误,总的还可以,确实适合初学

翻译和校订得不是太好,小错误和语意不明的地方对于编程教程来说是不太值得原谅的。第8章之前结构比较清晰,每章的小结方便了整理。

【第1章 ~ 第11章】自学Python的第一本书,入门还可以,就是介绍的浅了,看了11章决定换书《Learning Python》巩固和继续学习。扣一星给翻译,第9章翻译出现语句读不通的情况太多。

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册