前 言

Python是一种面向对象的、动态的程序设计语言,具有非常简洁而清晰的语法,既可以用于快速开发程序脚本,也可以用于开发大规模的软件,特别适合于完成各种高层任务。

随着NumPy、SciPy、matplotlib、ETS①等众多程序库的开发,Python越来越适合于做科学计算。与科学计算领域最流行的商业软件MATLAB相比,Python是一门真正的通用程序设计语言,比MATLAB所采用的脚本语言的应用范围更广泛,有更多程序库的支持,适用于Windows和Linux等多种平台,完全免费并且开放源码。虽然MATLAB中的某些高级功能目前还无法替代,但是对于基础性、前瞻性的科研工作和应用系统的开发,完全可以用Python来完成。

本书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,还着重介绍了如何制作交互式二维、三维图像,如何设计精巧的程序界面,如何与C语言编写的高速计算程序结合,如何编写声音、图像处理算法等内容。

由于Python的相关资源非常多,本书不可能全部涉及,相信读者在掌握本书所介绍的一些相关知识之后,只要充分利用互联网的搜索功能,就一定能够很快地找到合适的Python解决方案。此外,由于绝大多数Python资源都开放源代码,因此读者将会很容易地对感兴趣的内容进行深度挖掘和研究。

本书适合于工科高年级本科生、研究生、工程技术人员以及计算机开发人员阅读。实例篇以信号处理为主,通过简单易懂的Python源程序,实际演示信号处理的一些基础知识和原理,因此特别适合于相关专业的学生作为扩展视野的补充阅读教材。

阅读本书的读者需要掌握Python语言的一些基础知识,下面是一个“自我检测列表”,如果读者熟悉下述内容,阅读本书的实例源代码就应该没有困难。此外由于Python程序简单易读,即使读者没有接触过Python,也可以边阅读本书边通过其他书籍或免费教程学习Python。

● 基本语法:库的载入(import)、循环(for、while)、判断(if)、函数定义(def)

● 基本数据类型的用法:列表(list)、字典(dict)、元组(tuple)、字符串

● 面向对象的基本语法:类(class)、继承

● C语言编程的基础知识②

有关Python语言的基础知识,可以参考啄木鸟社区的Python图书简介。

本书所有演示程序,均在Windows XP系统下采用Python(x,y)通过测试。如果读者觉得安装众多的Python程序库很麻烦,不妨下载安装Python(x,y),或者直接使用本书所附光盘中的Python(x,y)安装程序。

① 全称为Enthought Tool Suite,是Enthought公司开发的开源科学计算应用程序开发包。

② 为了提高程序的运行效率,有时需要使用C语言编写Python的扩展模块,第16章“用C语言提高计算效率”中介绍的内容需要读者熟悉C语言编程。

读书导航