前言 本书的目标是帮助初学者掌握Python编程语言,并利用它解决工作中的问题。 本书特色 (1) 模块化教学。本书将Python程序设计分为程序设计基础和程序设计应用两部分: 程序设计基础部分遵循简单易学原则; 程序设计应用部分力求解决实际问题。 (2) 案例学习。本书力求内容通俗易懂,书中列举了560多个程序例题,作者期望通过“案例—模仿—改进—创新”的方法,使读者快速掌握Python程序设计方法。 (3) 资源丰富。本书提供的资源有教学文档、PPT课件、例题素材、习题参考答案、思维导图、共享软件、开源数据集等。 主要内容 第1~6章为程序设计基础,篇幅占全书的40%左右。这部分内容比较浅显,避免了冗长繁杂的程序语法,对少数内容较深、应用不多的程序语言功能很少介绍,如生成器、断言、协程、正则表达式等。第1~6章的程序案例基本使用Python标准函数,极少使用第三方软件包。简单地说,本书第一部分内容由浅入深,主要面向程序设计的基础教学。 第7~14章为程序设计应用,篇幅占全书的60%左右。这部分内容根据不同专业的教学需求编写,如文科专业可以选择第7章文本分析程序设计; 理工科专业可以选择第8章图形用户界面程序设计、第9章可视化程序设计、第10章数据库程序设计和第11章大数据程序设计; 第12~14章可以作为课程设计内容。简单地说,本书第二部分每章内容相对独立,主要面向各专业的程序设计应用教学。 学习建议 (1) 软件包选择。Python有大量成熟的第三方软件包,这对应用程序设计非常有利,但是也带来了学习难题。因此,读者可以根据学习和专业的需要,选择性地学习第7~14章中的第三方软件包。 (2) 结构化程序设计。Python语言强调程序的简单性和结构化,虽然它支持面向对象的程序设计模式,但是它本质上仍然是一门结构化程序设计语言。因此,本书以结构化程序设计模式为主线进行讲授,附带介绍面向对象的程序设计方法。 (3) 程序调试。Python程序设计遇到最多的问题是语法错误和软件包版本不匹配。本书提供了大量解决问题的方法和案例,但是无法帮助读者解决所有问题。程序设计是一门实践性很强的课程,读者应多动手调试程序。 代码约定 (1) 为了解决程序案例实用性与个人隐私的矛盾,书中的人物姓名一部分来自文学名著,另一部分中文姓名由Python程序自动生成,如有雷同,纯属巧合。 (2) 本书对程序案例进行了详细的注释,这些注释大部分是说明程序的语法规则和语句功能。在软件工程实践中,程序注释不需要说明语法规则。因此,本书的程序注释仅适用于教学,读者调试书中案例时,不用输入程序注释部分。 (3) 程序注释中,凡有“导入标准模块”时,说明模块由Python自带,不需要安装软件包; 凡有“导入第三方包”的,说明这个程序需要安装相应的第三方软件包。 (4) 本书中的大部分程序案例没有调用数据资源(如文件、图片、数据集等),这些程序可以在任何目录下运行。部分程序案例(20%左右)调用了本地数据资源(如文件、图片、数据集等),这些程序运行前需要将本书提供的“《Python应用程序设计(第2版)》例题素材.rar”文件解压缩,然后将其中的所有子目录复制到硬盘“D:\test”目录中。 (5) 程序中的空行会使程序结构更加清晰明了。遗憾的是受到书籍篇幅的限制,本书的程序代码压缩了所有空行,这实在是无奈之举,敬请读者明察和谅解。 (6) 为了区别程序语句与程序输出信息,本书对程序行和语法规则都标注了行号,而程序输出信息则不标注行号,以示区别。行号的另外一个作用是便于说明程序功能,读者调试程序案例时请不要输入行号和Python shell提示符。 (7) 部分程序案例的输出内容很多,为了压缩书籍篇幅,书中省略了大部分输出信息; 部分多行短数据输出,书中也合并在一行中书写并注明。 (8) 本书中的程序案例均在以下环境中调试通过。第一部分基本没有使用第三方软件包,因此第1~6章采用中文简体Windows 10(64位)、Python 3.1132位(64位性能更佳),程序调试环境为IDLE; 第二部分采用第三方软件包,考虑程序的兼容性,第7~14章采用Windows 10(64位)、Python 3.832位,第三方软件包采用32位版。程序案例中凡标有“程序片段”说明的,表示省略了部分程序语句,这些程序片段不能独立运行。 读者反馈 非常欢迎读者对本书的反馈意见,它有助于我们编写出对读者真正有帮助的书籍。如果您对书中某个问题存有疑问或不解,可联系我们,我们会尽力为您做出解答。您可以发送邮件到清华大学出版社客服邮箱: cservice@tup.tsinghua.edu.cn。 本书提供了大量课程教学资源,如果您需要这方面的资源,可登录清华大学出版社网站(http://www.tup.tsinghua.edu.cn/index.html)下载。 致谢 本书由易建勋老师(长沙理工大学)、王晓红老师(武汉商学院)、孙燕老师(青海民族大学)编著。易建勋老师主要编写第1章、第3章、第7章、第10~14章,并担任全书的统稿工作。王晓红老师主要编写第5章、第6章、第8章,并参与编写第7章、第10章、第12章、第13章。孙燕老师主要编写第2章、第4章、第9章并参与编写第1章、第3章、第7章。感谢以下老师对本书写作的帮助: 廖寿丰老师(湖南行政学院)、冯桥华老师(安顺职业技术学院)、李冬萍老师(昆明学院)等。尽管我们非常认真努力地编写本书,但因水平有限,书中难免有疏漏之处,恳请各位同仁和读者批评指正。 易建勋2023年2月22日