针对 OLPC 膝上型电脑的应用程序开发(4)

使用 Python

本节简要介绍 Python 编程。如果您熟悉 Python,可以跳过这一部分,直接了解一下 Sugar API

Python 是什么?

Python 被选为 XO-1 膝上型电脑的核心语言并不奇怪。最重要的是,Python 是一门开源语言,这意味着您可以查看、修改并改进源代码。Python 是一门非常简洁的语言,它很简单并包含一个大型 API 库来简化编写复杂应用程序的任务。

Python 也是一门解释性语言,这意味着无需编译步骤即可将活动原型化。可以编译 Python 以提高速度,或者使用低级语言编写的库来获取更优的性能。

尽管 Python 的最初开发目的是作为一门新语言来帮助用户学习编程(今天的 BASIC 语言),但它的简单性和强大的功能深受初学者和高级开发人员的喜爱。

Python 小样例

清单 5 提供了一个简单的 Python 程序,介绍该语言及其用法。该 Python 程序首先打开一个文件(程序自身的名字)。这个打开的文件的句柄存储在 infile 变量(其类型在赋值时确定)中。接着,使用迭代器开始一个简单的 for 循环。(注意一下对关键字 in 的使用,它创建了一个迭代器。)这个 for 循环的含义是:“对文件的每一行,运行”。

该循环的内部以缩进的方式显示(这是 Python 建立代码块的方式)。这个 for 循环的代码块是用来输出刚读过的行。print 语句输出显示的信息,结尾的逗号 (,) 表示, 您不希望在结尾处输出 "n 字符(因为它已经包含在行字符串中)。


清单 5. 文件输入和迭代
                    
infile = file('pythprog.py', 'r')
for line in infile:
print 'Read: ', line,

迭代器是 Python 的一个重要部分,也是该语言如此简单和易读的一个主要原因。

Python 编程范例

除了简单,Python 作为一门多范式语言支持多种风格的应用程序开发。以下是几个例子,有助于您了解多范式 的意义。

命令式编程

Python 支持命令式编程 ,它专注于执行语句的顺序。清单 6 中显示了一个命令式程序。在此例中,创建了一个函数(用 defdefine 语句)。然后,使用 filename 参数调用这个新函数。


清单 6. 简单的命令式程序
                    
def print_file(filename):
infile = file(filename, 'r')
for line in infile:
print 'Read: ', line,

print_file("pythprog.py")

面向对象编程

您也可以用面向对象范例编程,面向对象编程专注于类和方法,它们对类实例中的数据进行操作。 如清单 7 所示,该类包含两个方法。第一个方法是 __init__(),它是该类的构造函数。 第二个方法执行文件的打印。此类的使用及方法的调用如下面的定义所示。


清单 7. 简单的面向对象程序
                    
class PrintFile():

def __init__(self, filename):
self.filename = filename

def printit(self):
infile = file(self.filename, 'r')
for line in infile:
print 'Read: ', line,

myPF = PrintFile("pythprog.py")
myPF.printit()

函数式编程和混合范式编程

Python 也支持函数式编程和混合范式编程,这让您能够在一个面向对象应用程序里使用函数语言的概念。

posted on 2008-01-16 18:35  kelvenxu  阅读(194)  评论(0)    收藏  举报

导航