|
|
2#

楼主 |
发表于 2007-10-10 09:00:42
|
只看该作者

另外一个需要知道的很有用的Python类型是列表;一个按顺序排列的其他类型的序列。列表可以像字符串一样进行加法或者乘法运算,还能够被索引和切成子列表,叫做切片:
>>> x = [1,2,3,4,5,6,7,8,9,10]
>>> x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> x + [11]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> x + [12] * 2
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 12]
>>> x[0], x[1], x[9]
(1, 2, 10)
>>> x[1:3], x[4:], x[2:-2]
([2, 3], [5, 6, 7, 8, 9, 10], [3, 4, 5, 6, 7, 8])
>>> x[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
交互模式很适合于进行快速和复杂的计算,但是一旦您开始编写行数较多的语句,或者您想要把程序保存下来供以后使用,那么就要放弃命令行而开始编写Python程序了。幸运的是这很容易,只需要把命令输入到.py文件里再用相同的命令运行它就可以了。
控制流程
就像您最喜欢的编程语言一样,Python利用各种常见的方式通过if、while和for语句来控制程序的执行。在Python里,if语句看起来就像下面这样:
if a > b:
print a
else:
print b
您会看到,和C或者Java这样的语言不同,Python没有使用花括号把语句集中到一起。Python的语句不是通过缩进的距离来集中语句的,语句的主体会一直扩展,只要它下面的语句具有相同或者更大的缩进。
x = 3
y = 4
if x > y:
x = x + 1
y = y + 1
例如,在上面的代码里,x = 3和y = 4就是程序的结尾。
x = 3
y = 4
if x > y:
x = x + 1
y = y + 1
但是在第二个例子里就以y等于5结尾。
Python还有while和for循环。While循环很简单:
while a > b:
a = a + 1
For循环的工作方式可能与您在其它编程语言里使用的方式稍有不同,它不是增加一个计数器,而是在一个序列里重复连续的项目,这和Perl或者PHP的foreach类似。如果确实需要使用计数器,没有问题,您可以使用内置的range(范围)函数来生成一个数字列表,就像下面这样:
for i in range(10):
print i
如果您需要它,您可以通过break或者continue语句更加细致地控制Python里的循环。Continue语句会把执行跳到循环的开头,而break语句会过早地结束循环。
for x in range(10):
if x % 2 == 0:
continue
if x > 6:
break;
print x
这段代码会产生下面的输出:
1
3
5
一个真正的程序:cat
现在我们手头已经差不多有了所需要的各种工具来编写一个小型但是完整的程序,例如Unix上常见的筛选器cat(或者Windows上的type程序)。Cat这个筛选器会接受文本文件的名字作为参数,并打印其内容,或者如果没有给出文件名,就把用户输入的内容显示在终端上。但是在能够编写这个程序之前,我们需要引入一些新的东西: |
|