本书全面而深入介绍了Python编程的相关内容,全书内容大致可分为四个部分,第一部分系统讲解了Python的基本语法结构、函数编程、类和对象、模块和包、异常处理等;第二部分主要介绍Python常用的内置模块和包,这部分包括正则表达式支持IO编程、数据库编程、并发编程、网络通信编程等内容;第三部分主要介绍Python开发工程化方面的内容;第四部分则属于“Python项目实战”,这部分通过项目介绍了Python游戏开发、大数据展示、网络爬虫等热门技能,尤其是网络爬虫和大数据展示,均是当下Python最热的就业岗位。
前 言
创作本书纯属偶然,起因是我儿子想学编程。当他想报编程兴趣班时,居然没报上、满额了,而他是一个对生活充满好奇的小孩,望着他满是失落的眼睛,我想不如我来教吧,毕竟我曾经教了那么多别人的孩子。
我的想法是:挑一门上手足够容易的语言来教,毕竟他只是一个8岁的小孩。首先排除了Java和C,虽然我自己用这两种语言比较多,但对于小孩来说,上手它们显得有些枯燥;也考虑过Swift或Kotlin,能迅速带着做点手机小游戏比较酷,后来又觉得搭建运行环境有点费事;还是选一种能解释执行的脚本语言吧,我想到了Python或Ruby,后来又了解到那个兴趣班教的就是Python,那就选Python吧。
于是,他开始了自己的Python学习之旅。而我完全被困住了:每当他遇到一点问题就要来问我。这肯定不行,得找本书让他自己看,这样他就不用来烦我了。我是一个非常挑剔的人,找了不少书,却发现很少有合适的——有些书上手简单,但完全没有按照Python本身的知识体系讲解,单纯地为了简单而简单;有些书略微系统一些,却讲得晦涩难懂。典型来说,仅仅一个变量的概念,几乎没有一本书能通俗地讲明白。实际上,初学者并不需要知道变量的概念定义,他只要把变量当成一个小的“容器”,懂得对变量赋值就是把东西“装入”变量即可。那么我还是自己写一本吧,毕竟我曾经为别人写了那么多书。
创作这本书时,我有两点考虑。
1. 讲解要尽量通俗,避免搞那些晦涩的概念
编程,首要的是能动手编,让简单的程序跑起来。动手编得多了,那些概念的意义自然就浮现出来了。就像一个外星人来到地球,从未见过桌子,找个人一直给他讲桌子的概念,要他务必先理解桌子的概念,外星人的感觉一定是非常困惑;尝试用不同的方法:找一堆桌子放在一起,一张桌子、一张桌子给他看,让他在桌子上写字、用电脑、吃饭,甚至把桌子拆开给他看,相信外星人很快就能理解“什么是桌子”了。对于编程初学者而言,他们何尝不是刚来到地球的外星人?
2. 知识体系要完善,而且遵循Python内在的逻辑
一直以来,我写的书通常比较厚、内容也比较多。这和我挑剔的个性有关:既然做一件事情,当然要尽力做好它;否则干脆别做。一门工业级的编程语言,它不是玩具,它本身有那么多的知识点。不管你学还是不学,编程语言本身的内容就在那里!不管作者写还是不写,编程语言本身的内容就在那里。我写书总会尽量做到“够用”,起码认真学完这本书之后,不会随便遇到一个编程问题就只能问百度。
既要有完备的知识体系,又要详细讲透这些内容,书的篇幅自然就多了。同样的知识内容,一本厚厚的、讲解细致的图书,和一本薄薄的、浮光掠影的图书,哪本更容易看懂?
在知识内容相同的前提下,如果看不懂一本内容丰富、讲解细致的书,看一本薄薄的、浮光掠影的图书反而能看懂?这完全没道理。
但有些读者确实这样说过,这一点我也能理解,存在“鸵鸟心态”的人,他并不是第一个:看不到的就当它不存在。有些书之所以薄,无非是两个知识点不讲:这也不讲,那也不讲!读者阅读的时候固然是轻松,因为内容少呀。就像学数学,如果只教一加一等于二,当然讲得简单、学得轻松;但等到真正做事时才发现:啊?还有二加三等于五?数学还有乘法?还有除法?然后发现这也不会,那也看不懂,后果就是遇到问题就上百度。这就是有些所谓的开发者,他们是“面向百度”编程的。这些开发者往往哀叹:做程序员太累了,一个问题往往要调半天甚至一天,其实他们根本不是调试,只是在找别人的代码、试别人的代码,运气好找到了合适的代码,问题就解决了;找不到合适的代码就只能哀叹了。
正因为基于以上两点考虑进行创作,因此初学者上手本书的门槛比较低,大部分读者都能迅速地通过学习本书内容写出自己的Python程序、运行自己的Python程序;但要坚持把本书学完也需要一定的毅力:书中内容确实比较多,而且后面内容更偏向实际应用开发。
编程图书不仅是用来“看”的,更是需要动手“练”的,正如先圣王阳明所倡导的:知行合一。学习本书需要读者认真练习书中每个示例程序,还需要读者认真完成全书在各章节后所配的110道Python练习题(面试题),如果读者需要获取关于课后习题的解决方法、编程思路,可以登录http://www.crazyit.org站点或关注“疯狂图书”微信公众号(拿出手机扫描封面勒口处的二维码)。
本书有什么特点
本书并不是一本简单的Python入门教材,虽然本书上手门槛很低,但本书的知识体系很丰富。总结起来,本书具有如下三个特点。
1. 讲解通俗,上手门槛低
创作本书的最初目的决定了本书的上手门槛,本书不会故弄玄虚地纠缠于晦涩的概念,而是力求用浅显易懂的比喻引出概念、用口语化的方式介绍编程、用清晰的逻辑解释思路。
为了降低读者阅读的难度,书中代码的注释非常详细,几乎每两行代码就有一行注释。本书所有程序中关键代码以粗体字标出,也是为了帮助读者能迅速找到这些程序的关键点。
2.案例驱动,引爆编程激情
本书不是知识点的铺陈,而是致力于将知识点融入实际项目的开发中,所以书中涉及大量Python案例:五子棋游戏、画图板、桌面弹球、合金弹头、大数据展示、各国人均GDP对比、基于爬虫的招聘热点分析、基于爬虫的高清图片下载、基于Scrapy+Selenium的微博登录……希望读者通过编写这些程序找到编程的乐趣。
3.知识体系完备,直面企业开发实战
虽然本书在讲解上力求简单,但本书内容并不简单,全书知识体系完备且系统,不仅全方位地覆盖Python语言本身的语法,而且覆盖大数据展示、爬虫等Python的热门技术,这些内容能带领读者直面企业开发实战。
本书写给谁看
如果你仅仅想对Python有所涉猎,那么本书并不适合你;如果小朋友有兴趣学习本书,可先引导他阅读本书前半部分;如果你想全面掌握Python编程,并使用Python解决大数据分析、网络爬虫等实际企业开发项目,那么你应该选择本书,并认真学完此书。希望本书能引爆你内心潜在的编程激情,让你废寝忘食。
2018-09-20
6
买了书,咋不见光盘,仔细看了商品描述,好像不带光盘,就上这儿来了
练习题代码有吗
买书说有视频教程,应当被骗了!
解压密码是什么哦