书的一开始也介绍了,是写给没有编程基础的人的所谓入门书籍。内容上看从最开始就将读者置于实战的情景中,随着面对的问题的不断升级和中间遇到的各种需要引入python的特性,整个下来就是一个根据需求和问题不断迭代从零开始写出一个web应用并部署到云端的过程。
如果把python的知识比作一片森林的话,诸如Learning Python这种大部头就是带着你不厌其烦地一点一滴地把每一颗树都弄清楚,本书则是让你直接在林中劈砍出一条路来,两种套路各有特点。后者虽然畅快速成,但你基础不牢是一定的,想要真正的掌握,很多细节还是需要下功夫琢磨的。
最喜欢的是本书先给出问题再引入python的特性给予解决的设计,这正是技术产生的自然过程,符合人的认知习惯,理解和掌握起来都容易的多。
另外书里面有很多图片,排版也比较稀松,400页其实没多少内容,但读起来不会给人太大压力,仁者见仁吧。
下面是书的内容大纲:
##chapter 1
介绍data的概念,为了存储data引入list这种内置的数据结构
##chapter 2
为了代码重用写了一个递归实现的打印嵌套列表内容的函数
为了方便分享打包了一下发布到网上去
为了解决库版本前后不兼容的问题,介绍了默认参数
##chapter 3
为了保存数据介绍了文件的io,配合了一些字符串处理的方法
面对可能出现的导致程序宕掉的问题引入异常处理,对比了异常处理方法和增加更多的代码以便将所有的情况都囊括进来的不同应对手段:后者的问题在于为了保证所有可能的情况都被考虑到会增加很多的代码,可能掩盖掉程序的真正意图,而用异常处理机制的话则可以让人专注于开发本身。
##chapter 4
进一步介绍了文件的存取和异常处理
针对手动开关文件不方便的问题引入了with关键词
##chapter 5
进一步介绍了解析数据的方法
介绍了内置函数sorted()和列表推导
##chapter 6
为了处理更为复杂多变的数据引入dictionary
引入class,主要目的是将数据和方法绑定在一起
##chapter 7
直接开始介绍web应用的运作方法
讲了Model Viewer Controler模型作为解决问题的范式
用python自带的简单CGI服务器搭建了一个小网站
##chapter 8
开始讲android开发,重心放在web应用的api上
##chapter 9
讲了填写表单,信息交互
为了应对web应用对数据的异步访问引入了数据库系统,介绍了sqlite3
##chapter 10
直接部署到GAE上
介绍了google提供的数据库接口,django的模板和表单框架
##chapter 11
更加复杂的数据输入和处理
另外,书中虽然没有明确地提出但穿插有code review和test drive的实践,都是当下流行的理念,从一开始就能了解了解很好。
总的来说本书还是值得新人一看的,只需要不多的时间和努力跟着书的指导就能从无到有的搞出个web应用出来,有趣又涨信心,剩余那些细节大可在别的地方补回来。