Python核心编程(第二版)第1章 欢迎来到Python世界

来源:岁月联盟 编辑:exp 时间:2011-10-10

 

1.1什么是Python

Python是一门优雅而健壮的编程语言.它继承了传统编程语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性。

1.2 起源

Guido van Rossum 荷兰 现在在Google, Python英文意思蟒蛇

1.3 特点

高级:有高级的数据结构,列表和字典

面向对象

可升级:可以不断地在各个项目中完善你的代码,添加额外的新的或者现存的Python元素,也可以随时重用代码。

可扩展:可以根据自己需要扩展这门语言。Python的标准库实现是使用C语言完成的,因此很容易用C编写扩展。

可移植性:Python可以运行在任何带有ANSIC C编译器的平台上,这种可移植性既适用于不同的架构,也适用于不同的操作系统。(跨平台)

易学:关键字少,结构简单,语法清晰。

易读:它没有其他语言通常用来访问变量,定义代码块和进行模式匹配的命令式符号。

易维护

健壮性:如果在运行时发生错误,解释程序会转出一个“堆栈跟踪”,那里面有可用到的全部信息,包括你程序崩溃的原因,使你能够监控这些错误并进行处理。

高效的快速原型开发工具

内存处理器:内存管理是由Python解释器负责的,类似于JAVA。

解释性和字节编译性:Python是一门解释性语言,这意味着开发过程中没有了编译这一环节。Python实际上是字节编译的,其结果就是可以生成一种近似机器语言的中间形式,这可以改善Python性能,同时使它保持了解释语言的特点。

1.4 下载和安装Python

在Windows中,默认的安装地址是C:/Python2x,标准库文件安装在C:/Python/Lib下。

1.5 运行Python

1.5.1命令行上的交互式解释器

cmd

cd C:/Python27

python

Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on

win32

Type "help", "copyright", "credits" or "license" for more information.

print 'Hello World~'

Hello World~

>>> 

1.5.2从命令行启动脚本

如果你安装了PythonWin的Python,双击一个带有.py扩展名的Python脚本就会自动调用Python或PythonWin IDE来执行你的脚本。

1.5.3集成开发环境

PythonWin 下载路径http://sourceforge.net/projects/pywin32/

PythonWin通常被安装在和Python相同的目录中,在它自己的安装目录C:/Python2x/Lib/site-packages/pythonwin 中有可执行的pythonwin.exe。Pythonwin有一个带有颜色显示的编辑器和一个新的增强版排错器,交互shell窗口,COM扩展和更多的有用特性。

Eclipse 下载路径http://pydev.sf.net

1.7 比较Python

Perl是另外一门脚本语言,远远超越了标准了shell脚本,Perl也赋予了你所有编程语言的功能特性,还有系统调用能力。Perl最大的优势在于他的字符串模式匹配能力,其提供了一个十分强大的正则表达式匹配引擎。Python的正则表达式引擎很大程度上是基于Perl的。Perl的晦涩和对符号语法的过度使用,让解读变得很困难。

JAVA:在Jython的脚本环境中,你可以熟练地处理Java对象,Java可以和Python对象进行互助,你可以访问自己的Java标准库,就如同Java一直是Python环境的一部分一样。

Ruby:Python不想Ruby那样完全面向对象,也没有像Smalltalk那样的快,或许正是Ruby最引人注意的特性。Python有一个字节码解释器,而Ruby没有。Python更加易读,而Ruby事实上可以看作是面向对象的Perl。

Tcl:跟Tcl相比,Python有类,模块及包的机制,所以写起达程序来更加得得心应手。

1.8 其他实现

标准版本的Python是用c来编译的,又被成为Cpython。

Java:Jython,只要有JVM就能运行,与JAVA有很好的互操作能力。

.NET/Mono:IronPython的Python实现,它是用C#语言完成的,它的适用环境是.NET和Mono,你可以在一个.net程序中整合IronPython解释器来访问.net对象。IronPython的扩展可以用C#或VB.NET语言编写。

摘自:xufei96的专栏

图片内容