前言

对于程序员来说,似乎无时无刻不在忙各种项目,没有太多时间对自己多年的项目经验进行总结。而突然有一天,我在某一时刻很想放慢自己的工作节奏,一来想挤出更多时间陪伴家人,二来想总结自己多年的项目经验,因此,就诞生了写书的想法。

为什么要写书

我阅读过很多IT书籍,大致分为两类:第一类是教科书类型,此类书籍的理论扎实、结构严谨,但是缺乏项目实践经验,无法帮助读者提高构建项目的能力;第二类是培训类型,偏重实践,往往在某一领域挖掘得很深,但是知识面的广度不够,与其他领域的联系也不够多。

对于资深工程师来说,在互联网上查阅资料远远比阅读书籍更有效率,这也是GitHub(一个面向开源及私有软件项目的托管平台)发展迅速的底层逻辑。但是对于诸多刚入行的“小白”来说,一本实用的工具书,不仅仅展示了技术知识,还能引导他们从更高、更广的角度来俯视整个IT产业界。这也是编者编写此书的最大目标,希望本书能够帮读者形成属于自己的IT世界观,从而引导大家各自走向适合自己的职业道路。

为什么要写关于Python的书

现在是什么时代?是大数据时代,也是云计算时代,更是人工智能时代。假如将人工智能看作是一枚火箭,那么大数据就是燃料,云计算就是引擎。不过无论怎样,这些领域都离不开Python,所以很难确定是Python成就了这个时代,还是这个时代成就了Python。此外,还存在一个有趣的现象,很多非IT从业者也开始学习Python了,这种现象就算是Java最“火”时似乎也没有发生过。

如何阅读本书

前面曾提到过,希望本书能够帮助初学者塑造自己的IT世界观,而不仅仅只是一本技术工具书,因此书中有很多内容是介绍产业界的环境、主流技术的方向以及个人项目经验。因此,全书分为三篇:基础篇、进阶篇和应用篇。

● “基础篇”为第1~7章,分别对数据类型和变量、流程控制、数据结构、函数、模块、包、文件、错误、异常和调试等知识进行了介绍,此部分内容比较零散,也比较重视细节,兼顾理论和实战。在写作的过程中,为了把理论知识、实战内容和项目经验通过标题来区分,就有了下面的几个模块:【小白也要懂】模块用来介绍基础知识或者展示程序员应该要了解的常识;【实战】模块通过代码来展示典型案例;【大牛讲坛】模块是和甲骨文、IBM等公司的朋友在项目方面的经验总结。

● “进阶篇”为第8~11章,分别对面向对象编程、进程和线程、网络编程、数据处理和数据库编程等知识进行了介绍,这部分内容已经不再是简单的概念、定义和基础知识了。比如面向对象编程是一种沿用至今的方法论;进程和线程是属于高性能的优化方法论;网络编程和数据库编程都是Python在网络领域和数据库领域的编程方法论。

● “应用篇”为第12~16章,分别对Web开发、图形界面、绘图、科学计算、数据分析、深度学习、云计算和自动化运维等知识进行了介绍。这部分内容不涉及理论,偏重于解决方案,很多代码甚至可以直接应用于工作中。因为这部分内容更加贴近一线工作,所以相比前两部分内容更加独立。

如果您是一名经验丰富的工程师,可以直接进入“应用篇”进行学习;如果您是一名初学者,则强烈建议从“基础篇”开始学习。

读者对象

● Python程序员。

● 系统架构师。

● 运维工程师。

● 大数据工程师。

● 云计算工程师。

● 人工智能工程师。

● 计算机相关专业学生。

由于编者水平有限,书中疏漏和不足之处在所难免,望广大专家和读者提出宝贵的意见,以便编者在修订时更正,期待得到大家真挚的反馈。

编者