概说Python脚本编程

ZDNet软件频道 时间:2002-06-28 作者:BUILDER.COM |  我要评论()
本文关键词:
Python是一种相当简单的脚本语言。要从Perl脚本转换到Python用不了6个小时即可。你可以访问python.org 网站了解更多的有关信息。

splitme = cols[6]        #把splitme设置为第7列的数据
splitup = list(splitme) #把splitup设置为字符串splitme中的字符列表

以上代码的第1行说明了指向数组元素的方法。数组从0索引到(n-1),这里的n是元素数目。第2行代码演示了list函数,这个函数把字符串作为参数并返回字符列表。

p = re.compile('s') #编译正则表达式对象“p”来找出空格。

在以上的语句中,我采用了正则表达式类来创建一个正则表达式对象。该对象必须用compile方法进行“编译”。该方法把一个正则表达式作为参数用于模式匹配。例子中采用的是“s”,表示空格是唯一需要找出的要素。为了匹配诸如空格、字母字符或者数字可以采用不同的表达式。

if len(splitup) > 30: #如果条目说明包含的字符数目超过30

以上语句引入了len函数。该函数以列表作为其参数并返回一个整数,表示列表中的元素数目。

for i in range(11): #从0计数到10

我发现Python创建for循环有两个很有意思的地方。首先, for循环完全可以直接遍历列表元素。

for i in [0,1,2, 3, 4, 5, 6, 7, 8, 9, 10]

但我选择的是range函数,这就是是第2个叫人感兴趣的地方了。我发现,range函数会自动产生一个整数列表。该函数只需要1到2个参数。如果只给定一个参数n,则函数产生从0到n-1的整数列表。如果给定两个参数 (m,n)则函数产生从m到n-1的整数列表。

能遍历整个列表自然作用非凡,因为你可以通过这一方式遍历任何对象类型的列表。比方说,你可以完全可以由此利用字符串列表或者正则表达式对象列表。

m = p.match(splitup[(30 -i)]) #找出第1个空格

正则表达式类的match方法以字符或者字符串作为其参数,然后把该参数同编译的正则表达式进行比较。如果表达式匹配就返回真。

我已经提到过,Perl中循环和流程控制语言没有对应的终止。在程序清单B中你可以看到我增加了注释表示代码块的终止。

newguy = string.join(splitup,'') + ' '  #用列表产生字符串

join方法和split方法的作用正好相反,它以字符串列表或者联合的字符作为第1个参数,用分隔符作为第2个参数。为了把两个字符串连接起来还用到了加号 (+)。

程序清单C 中的部分代码同Perl版本的该脚本程序是一样的。

if条件还没有满足的情况下则执行程序清单D中所示的else条件语句。

程序清单E中使用了文件对象的write方法。传递给该方法的唯一参数就是将要写入文件的字符串。

小结

以下是我们这个Python脚本所涉及到的语言要素:

  • 对象和类
  • 变量(对象和类的类型、数量和列表)
  • 流程控制(whilefor循环以及if/else语句)
  • 函数(比如len
  • 对象的方法(比如 joinsplit
  • 文件的输入和输出

Python是一种相当简单的脚本语言。要从Perl脚本转换到Python用不了6个小时即可。你可以访问python.org 网站了解更多的有关信息。其Windows版本的下载软件还包含了相应的编辑器和调试器。测试和执行代码非常简单。

责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134