前言

FOREWORD

Python是一种面向对象、解释性的高级程序语言,它已经被应用在众多领域,包括Web开发、操作系统管理、服务器运维的自动化脚本、科学计算、桌面软件、服务器软件(网络软件)、游戏等方面,未来它将被大规模应用在人工智能方面。

Python的设计哲学是“优雅”“明确”“简单”,它的语法清楚、干净、易读、易维护,编程简单直接,更适合初学编程者,让初学者专注于编程逻辑,而不是困惑于晦涩的语法细节上。对于想快速就职的读者而言,学习Python无疑是一条捷径。

为什么要学习本书

随着人工智能时代的来临,Python成为了人们学习编程的首选语言。本书站在零基础读者的角度,循序渐进地讲解了学习Python必备的基础知识,帮助读者建立编程思维和面向对象思想。

本书在讲解时,多采用生活中的例子来引入,同时利用生活插图,将生活与计算机语法结合起来进行讲解,最大程度地降低读者的阅读难度,同时也提升了读者的阅读兴趣。

作为开发人员,要想真正掌握一门计算机语言,离不开多动手练习,所以本书在绘声绘色讲解知识的同时,不断地增加案例,有针对某个知识点的案例,也有针对某章的案例,还有针对某个模块知识的案例,最大程度地帮助读者真正掌握Python这门语言的核心基础。

如何使用本书

本书基于Python 3,系统全面地讲解了Python的基础知识,全书共13章,具体章节内容介绍如下所示。

第1章主要是带领大家认识Python,包括Python的发展历程、Python的特点、Python的应用领域、Python的版本、Python的安装、IPython、集成开发环境的使用、Python程序执行原理等。通过本章的学习,希望大家能够对Python有一个初步的认识,能够独立完成Python开发工具的安装和基本使用,为后面学习Python开发做好准备。

第2章主要针对Python的基础语法进行讲解,包括变量、数据类型、运算符、类型转换等。这些知识都是最基础的语法,也比较容易理解。希望读者在初学Python时,多动手写代码,加深印象,为后期的深入学习打好扎实功底。

第3章主要介绍的是Python的常用语句,包括判断语句、循环语句以及其他子句。其中,判断语句主要是if语句,循环语句主要是for语句和while语句。在Python开发中,这些语句的使用频率非常高,希望读者可以多加以理解,并熟练掌握它们的使用。

第4章首先对字符串进行了讲解,介绍了什么是字符串以及对特殊字符的转义;接着讲解了字符串的格式化输入/输出、字符串的访问;最后讲解了字符串的内建函数以及字符串运算符。通过本章的学习,希望读者能结合案例多加练习,熟练掌握字符串操作的相关函数。

第5章主要介绍了列表、元组和字典,其中,列表的内容主要讲解了循环遍历、增删改查、排序、嵌套;元组的内容主要讲解了增删查操作,这里需要强调的是,元组是无法进行修改的;字典的内容主要讲解了元素的获取,包括键和值的获取,另外,还讲解了字典的增删改查、遍历。希望读者通过对本章的学习,能够清楚地知道这三种类型各自的特点,这样在后续开发过程中,可以选择合适的类型对数据进行操作。

第6章主要针对函数进行了讲解,包括函数的定义调用、函数的参数、函数的返回值、函数的嵌套、递归函数、匿名函数、日期时间函数和随机数函数。函数作为关联功能的代码段,可以很好地提高应用的模块性,希望读者能用好这些函数,并学会查询相关的函数手册。

第7章继续探讨函数的高级内容,包括闭包、装饰器,以及与序列相关的3个内置函数。通过对本章内容的学习,读者应该对函数有了更深的理解,并能够熟练地应用到开发中。

第8章主要针对Python中的文件操作进行讲解,包括文件的打开关闭、文件的读写、文件的重命名、文件的删除等。通过本章的学习,希望读者可以认真掌握文件的相关操作,能够熟练使用相关方法来实现功能。

第9章围绕着Python的异常进行介绍,包括异常类,抛出和捕捉系统内置的异常,抛出和捕捉自定义异常,以及with和as环境安装器。通过对本章的学习,读者应该深入了解异常产生的原理,并知道如何在程序中运行它们。

第10章主要针对Python中的模块进行了讲解,包括模块的制作,包、模块的发布,模块的安装和使用。希望通过本章的学习,大家能够理解使用模块的好处,并在以后的工作中灵活的借助模块完成想要的功能。

第11章首先介绍了面向对象编程的基本知识,包括面向对象概述,类和对象及根据类创建对象,然后介绍了构造方法和析构方法的使用,然后又介绍了self和__str__方法的简单使用,最后开发了一个反恐游戏的案例。通过对本章内容的学习,读者对面向对象应该有了初步的了解,为后面面向对象的深入学习做好铺垫。

第12章继续介绍面向对象编程的知识,包括面向对象的三大特征(封装、继承和多态),然后介绍了类属性和实例属性,最后介绍了类方法和静态方法。通过对本章内容的学习,读者应该对面向对象有了深入的理解,为面向对象编程埋下了伏笔。

第13章围绕着面向对象的编程思想,开发飞机大战游戏的部分功能,包括搭建游戏界面,创建玩家飞机类和敌人飞机类,飞机发射子弹等,并且利用继承的技巧优化代码。通过对本章内容的学习,大家将知道如何在实际应用中,利用面向对象思想进行编程。

在学习过程中,读者一定要亲自实践本书中的案例代码。如果不能完全理解书中所讲知识,读者可以登录博学谷平台,通过平台中的教学视频进行深入学习。学习完一个知识点后,要及时在博学谷平台上进行测试,以巩固学习内容。

另外,如果读者在理解知识点的过程中遇到困难,建议不要纠结于某个地方,可以先往后学习。通常来讲,通过逐渐深入的学习,前面不懂和疑惑的知识点也就能够理解了。在学习编程的过程中,一定要多动手实践,如果在实践的过程中遇到问题,建议多思考,理清思路,认真分析问题发生的原因,并在问题解决后总结出经验。

致谢

本书的编写和整理工作由传智播客教育科技股份有限公司完成,主要参与人员有吕春林、高美云、王晓娟、刘传梅、郑瑶瑶、邢文鹏、王铭东等。全体人员在这近一年的编写过程中付出了很多辛勤的汗水,在此一并表示衷心的感谢。

意见反馈

尽管我们付出了最大的努力,但书中难免会有不妥之处,欢迎各界专家和读者朋友们来信给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。

请发送电子邮件至:itcast_book@vip.sina.com。

黑马程序员

2017年6月5日于北京