Python · 2011-05-06

Python基础篇

1.1. Python历史

Python 是一种开源的面向对象的脚本语言,它起源于1989年末,当时,CWI(阿姆斯特丹国家数学和计算机科学研究所)的研究员Guido van Rossum需要一种高级脚本编程语言,为其研究小组的Amoeba分布式操作系统执行管理任务。为创建新语言,他从高级数学语言ABC(ALL BASIC CODE)汲取了大量语法,并从系统编程语言Modula-3借鉴了错语处理机制。Van Rossum把这种新的语言命名为Python(大蟒蛇)—来源于BBC当时正在热播的喜剧连续剧“Monty Python”。 Python 于1991年初公开发行,由于功能强大和采用开源方式发行,Python的发展得很快,用户越来越多,形成了一个强大的社区力量。2001 年,Python的核心开发团队移师Digital Creations公司,该公司是Zope(一个用Python编写的web应用服务器)的创始者。现在最新的版本是python2.3.4,大家可到http://www.python.org上了解最新的Python动态和资料 。

1.2. Python功能简介

Python是一种解析性的,交互式的,面向对象的编程语言,类似于Perl、Tcl、Scheme或Java。 Python一些主要功能介绍:
  • Python使用一种优雅的语法,可读性强。
  • Python是一种很灵活的语言,能帮你轻松完成编程工作。并可作为一种原型开发语言,加快大型程序的开发速度。
  • 有 多种数据类型:numbers (integers, floating point, complex, and unlimited-length long integers), strings (ASCII 和 Unicode), lists, dictionaries。
  • Python支持类和多层继承等的面向对象编程技术。
  • 代码能打包成模块和包,方便管理和发布。
  • 支持异常处理,能有效捕获和处理程序中发生的错误。
  • 强大的动态数据类型支持,不同数据类型相加会引发一个异常。
  • Python支持如生成器和列表嵌套等高级编程功能。
  • 自动内存碎片管理,有效利用内存资源。
  • 强大的类库支持,使编写文件处理、正则表达式,网络连接等程序变得相当容易。
  • Python的交互命令行模块能方便地进行小代码调试和学习。
  • Python易于扩展,可以通过C或C++编写的模块进行功能扩展。
  • Python解析器可作为一个编程接口嵌入一个应用程序中。
  • Python可运行在多种计算机平台和操作系统中,如各位unix,windows,MacOS,OS/2等等。
  • Python是开源的,可自由免费使用和发布,并且可用于商业用途以获取利润。如想详细了解Python的许可协议可到以下网址查询http://www.python.org/psf/license.html

1.3. 应用范围

  • 系统编程,提供大量系统接口API,能方便进行系统维护和管理。
  • 图形处理,有PIL、Tkinter等图形库支持,能方便进行图形处理。
  • 数学处理,NumPy扩展提供大量与许多标准数学库的接口,
  • 文本处理,python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
  • 数 据库编程,程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,Mysql等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
  • 网络编程,提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。
  • 作为Web应用的开发语言,支持最新的XML技术。
  • 多媒体应用,Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

1.4. 如何开始?

  • 进入交互命令行方式。如果是linux类的系统,python解析器应该已经安装在/usr/local/bin/python中,直接打python就可进入交互式命令行界面,如下所示:
    Python 2.3.3 (#1, Apr 27 2004, 15:17:58)
    [GCC 3.2 20020903 (Red Hat Linux 8.0 3.2-7)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    “>>>”符号是Python命令行界面的提示符,可按CTRL+D退出,如果是windows环境的话就要按CTRL+Z了。还可以用以下命令退出命令行界面:“import sys;sys.exit()”。如果是windows系统,可到http://www.python.org/download/下载最新的安装程序进行安装。安装完成后直接打python也可进入命令行界面。命令行是python最简单直观,也是最方便的一种执行环境,我们可以在这里学习python语法和调试程序。如果要打印”hello world”可以输入以下命令:
    >>>print "hello world"
    hello world
     
  • 以模块文件方式运行。模块文件是包含python语句的文本,以.py结尾。运行模块文件只要输入python xxx.py就可以了。
  • 以linux脚本方式运行。和shell脚本差不多,以vi或其它文本编辑器输入以下内容:
    #!/usr/local/bin/python
    print "test ............"
    存盘后,把文件属性改为可执行,就可象shell脚本一样执行了。
  • Table 1.1. Python命令行选项 
    选项 作用
    -c cmd 在命令行直接执行python代码。如python -c ‘print “hello world”‘。
    -d 脚本编译后从解释器产生调试信息。同PYTHONDEBUG=1。
    -E 忽略环境变量。
    -h 显示python命令行选项帮助信息。
    -i 脚本执行后马上进入交互命令行模式。同PYTHONINSPECT=1。
    -O 在执行前对解释器产生的字节码进行优化。同 PYTHONOPTIMIZE=1。
    -OO 在执行前对解释器产生的字节码进行优化,并删除优化代码中的嵌入式文档字符串。
    -Q arg 除法规则选项,-Qold(default),-Qwarn,-Qwarnall,-Qnew。
    -S 解释器不自动导入site.py模块。
    -t 当脚本的tab缩排格式不一致时产生警告。
    -u 不缓冲stdin、stdout和stderr,默认是缓冲的。同PYTHONUNBUFFERED=1。
    -v 产生每个模块的信息。如果两个-v选项,则产生更详细的信息。同PYTHONVERBOSE=x。
    -V 显示Python的版本信息。
    -W arg 出错信息控制。(arg is action:message:category:module:lineno)
    -x 忽略源文件的首行。要在多平台上执行脚本时有用。
    file 执行file里的代码。
    从stdin里读取执行代码。