2.1 Python简介
2.1.1 Python的特点
Python是一种简单易学、功能强大的编程语言,具有高效率的高级数据结构,可方便且有效地实现面向对象编程。
1.简单易学
Python语法简洁清晰、结构简单,易于快速上手。由于Python不过多计较程序语言在形式上的细节和规则,从而便于编程者专注程序本身的逻辑和算法。
2.免费开源
Python是自由/开源软件(Free/Libre and Open source software,FLOSS)之一,人们可以自由地发布这个软件的副本、阅读它的源代码、对它做改动,以及将它用于新的自由软件中。
3.便于移植
计算机并不能直接接收和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式:一种是编译执行;另一种是解释执行。编译执行是指源代码先由编译器编译成可执行的机器码,然后再执行;解释执行是指源代码被解释器直接读取执行。编译执行和解释执行各有优缺点,编译执行可一次性将高级语言源程序编译成二进制的可执行指令,通常执行效率高;而解释执行是由该语言(如HTML)的运行环境(如浏览器)读取一条该语言的源程序,然后转变成二进制指令交给计算机执行,通常可以灵活地跨平台。C、C++等采用编译执行方式,Python与Java语言类似,采用解释执行方式,源代码不需要编译成二进制代码,而是通过解释器把源代码转换成称为字节码的中间形式,由虚拟机负责在不同的计算机上运行,因此,Python程序便于移植,可在众多平台运行。
4.面向对象
Python是完全面向对象的语言。函数、模块、数字和字符串都是对象,并且完全支持继承、重载、派生和多重继承。Python语言编写程序无须考虑硬件和内存等底层细节。
5.具有丰富的库
Python称为胶水语言,能够轻松地与其他语言(特别是C或C++)连接在一起,其具有丰富的API和标准库,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统和GUI等,可以完成各种工作。
2.1.2 Python的应用场合
Python功能强大,主要应用于以下场合。
(1)GUI软件开发
Python具有wxPython、PyQt等工具,使得Python可以快速开发出GUI,并且不做任何改变就可以运行在Windows、Linux和macOS等平台。
(2)网络应用开发
Python提供了标准Internet模块,可以广泛应用到各种网络任务中,包括服务端和客户端,另外,网站编程第三方工具HTMLGen、mod_python、Django、TurboGears和Zop可以帮助Python快速构建功能完善和高质量的网站。
(3)游戏开发
Pygame是建立在SDL(Simple DirectMedia Layer)基础上的软件包,提供了简单的方式控制媒体信息(如图像、声音等),专为电子游戏设计使用。Pygame下载网址为www.pygame.org,如图2.1所示。
图2.1 Pygame下载网址
(4)科学计算
Python具有科学计算的三剑客:NumPy、SciPy和Matplotlib。其中,NumPy负责数值计算、矩阵操作等;SciPy负责常见的数学算法,如插值、拟合等;Matplotlib负责数据可视化。
(5)Web与移动设备应用开发
web2py是一种免费开源的Web开发框架,帮助开发者设计、实施和测试MVC(模型(Model)、视图(View)、控制器(Controller))模型。web2py下载网址为www.web2py.com,如图2.2所示。
图2.2 web2py下载网址
(6)数据库开发
Python支持所有主流数据库,如Oracle、Sybase、MySQL、PostgreSQL和Informix等,并通过标准的数据库API接口将关系数据库映射到Python类,实现面向对象数据库系统。
(7)系统编程
Python支持对系统级别的编程,利用API等函数接口,可以对系统服务进行管理。Python程序可以搜索文件和目录树,可以运行其他程序,可以用进程或线程进行并行处理等。