图书前言

前言

目前,计算机程序设计语言处于“百花齐放、百家争鸣”的局面。应用广泛的计算机语言有Basic语言、C/C++语言、C#语言、Java语言、JavaScript语言(网页设计语言)、Delphi语言(Pascal语言)、Swift语言(iOS操作系统应用设计语言)、Wolfram语言(基于Mathematica软件的科学计算语言)等。程序员都有类似的感觉,当精通了一门计算机语言后,其他的计算机语言就会有似曾相识的感觉,从而学习另一种计算机语言就变得轻松愉快了。但是,每种计算机语言都有其缺点,例如,C语言的栈区较小、指针功能强大但易于内存访问越界等。有没有一种计算机语言,在吸取了众多计算机语言的优点的同时,又改进了它们的缺点?如果有,那就是Python语言。

Python语言自1991年诞生以来,迅速成长为拥有庞大用户群体和健壮生态系统的计算机语言,而且是不断进化的计算机语言。相比于其他计算机语言,Python语言至少具有以下的优点。

其一,Python语言的设计思想是极致精简,表现在用最简练的代码实现尽可能多的功能,或者用最简形式的代码实现所需要的功能。Python语言用语句的“缩进”格式区分代码的等级。

其二,Python语言是开源的计算机语言,Python语言的每个版本的升级都是在全球范围内程序员的贡献基础上的改进。请注意Python 3与Python 2不兼容,Python 3才真正吸引了作者的注意。

其三,Python语言具有极强的跨平台能力,可应用于Windows、macOS、Linux/UNIX等十多种平台上。

其四,Python语言的IDLE程序(Python语言自带的集成开发与学习环境)具有交互式执行功能,例如,IDLE程序可作为超级计算器。

其五,Python语言是面向对象的计算机语言,其类与对象的设计技巧比C++语言更容易理解和掌握。

其六,Python语言具有强大的生态圈,众多程序员基于Python语言开发了适用于各个专业领域的程序包,这些程序包使得Python语言甚至可以和MATLAB媲美。

在作者的教学和科研活动中,主要使用的语言为Wolfram语言、Python语言和C++/C#语言。其中,Wolfram语言用于处理全部的科学计算问题; Python语言作为通用计算机语言,融合算法与界面的实现与设计; C++/C#语言用于在计算效率上进行优化处理。我们向读者推荐《Mathematica程序设计导论》(清华大学出版社,2022年)和《精通C++语言》(清华大学出版社,2022年),帮助学习Wolfram语言和C++语言。我们借助本书向读者推荐Python语言。Python语言生态圈中流行着一种说法,当一个程序员深入接触了Python语言后,他就离不开Python语言了。

本书基于Python 3.10全面介绍Python语言的程序设计方法。全书共10章。第1章为Python语言入门,介绍基于Visual Studio和PyCharm集成开发环境设计Python语言程序的方法; 第2章为Python编程基础,深入讨论Python语言中最重要的数据结构——列表的用法以及字符串的使用方法; 第3章为程序控制,阐述Python语言中的分支与循环语句设计方法; 第4章为数据表示,讨论Python语言中的常用数据类型及其用法; 第5章为函数与模块,重点讨论Python语言中函数、模块和包的概念与设计方法; 第6章为类与对象,介绍Python语言中类的定义与应用方法; 第7章为文件操作与异常,介绍Python语言的文件操作与异常处理方法; 第8章为图形用户界面设计,阐述带有图形用户界面的应用程序设计方法; 第9章为数据分析与可视化,介绍numpy、pandas和matplotlib三个常用程序包的用法,这三个包依次为数组与矩阵计算、数据统计与分析以及绘图程序库; 第10章为网络爬虫,阐述网络数据“爬”取方法。全书内容丰富,实例翔实,适合教学与自学。

本书作为计算机语言教材,若课时为48学时,宜讲授第1~7章; 若课时为64学时,宜讲授第1~10章。本书提供了全部源程序,但作者强烈建议读者自行输入代码,并调试程序,以达到对Python语言融会贯通的目的。真正掌握好一门计算机语言,唯一的捷径或窍门在于持续编程与应用。

配 套 资 源

  程序代码:扫描目录上方的二维码下载。

  教学课件、教学大纲、实验大纲、教学日历等资源: 扫描封底的“书圈”二维码在公众号下载,或者到清华大学出版社官方网站本书页面下载。

  微课视频(300分钟,126集): 扫描书中相应章节中的二维码在线学习。

注: 请先扫描封底刮刮卡中的二维码进行绑定后再获取配套资源。

本书由江西财经大学量子计算研究中心信息安全课题组编写。其中,朱文强编写第1章,陈爱国编写第2章,熊堂堂编写第3、4章,石宇雯编写第5、10章,谢宝来编写第6、7章,张勇编写第8章和附录,唐颖军编写第9章。全书由张勇统稿、定稿。作者张勇感谢导师陈天麒教授(电子科技大学)、洪时中研究员(电子科技大学、成都市地震局)、汪国平教授(北京大学)对作者科研工作和学术研究的长期指导,他们对科学的热爱和对作者的鼓励是作者从事科研工作的巨大精神支柱; 感谢爱人贾晓天老师在烦琐的资料整理工作方面所做的细致工作。全体作者感谢清华大学出版社工作人员对本书写作和出版的支持。

本书极力呈现Python语言的魅力和应用技巧,但限于作者的知识水平,书中内容难免有不足之处,恳请同行专家和读者朋友不吝赐教。

张勇2023年4月于江西财经大学麦庐园