欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap FreeTalk
   您现在位于: 首页技术专栏开发语言 → 正文
Python教程之流程控制
07-12-06 00:00:00 作者:半块点心 出处:本站原创
4. 其它流程控制工具
除了前面介绍的 while 语句,Python 还从别的语言中借鉴了一些流程控制功能,并有所改变。
4.1 if 语句
也许最有句的语句类型是 if 语句。例如:
>;>;>; x = int(raw_input("Please enter an integer: "))
>;>;>; if x <0:
... x = 0
...  print 'Negative changed to zero'
... elif x == 0:
... print 'Zero'
... elif x == 1:
... print 'Single'
... else:
... print  'More'
...
可能会有 0 或很多个 elif 部分,else 是可选的。关键字“elif ”是“ else if ”的缩写,这个可以有效避免过深的缩进。if  ... elif ... elif ... 序列用于替代其它语言中的 switch 或 case 语句。

4.3 range() 函数
如果你需要一个数值序列,内置函数 range()可能会很有用,它生成一个等差级数链表。
>;>;>; range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(10)生成了一个包含10个值的 链表,它准确的用链表的索引值填充了这个长度为10的列表,所生成的链表中不包括范围中的结束值。也可以让range操作从另一个数值开始, 或者可以指定一个不同的步进值(甚至是负数,有时这也被称为“步长”):
>;>;>; range(5, 10)
[5, 6, 7, 8, 9]
>;>;>; range(0, 10,  3)
[0, 3, 6, 9]
>;>;>; range(-10, -100, -30)
[-10, -40, -70]
需要迭代链表索引的话,如下所示结合使用range()和len():
>;>;>; a  = ['Mary', 'had', 'a', 'little', 'lamb']
>;>;>; for i in range(len(a)):
... print i, a
...
0 Mary
1 had
2 a
3 little
4 lamb


4.4 break 和 continue 语句,以及循环中的 else 子句
break语句和C中的类似,用于跳出最近的一级for或while循环。
continue 语句是 从C中借鉴来的,它表示循环继续执行下一次迭代。
循环可以有一个else子句;它在循环迭代完整个列表(对于for)或执行条件为false(对于 while)时执行,但循环被break中止的情况下不会执行。以下搜索素数的示例程序演示了这个子句:
>;>;>; for n in range(2, 10):
...  for x in range(2, n):
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... # loop fell through  without finding a factor
... print n, 'is a prime number'
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a  prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
4.5 pass 语句
pass 语句什么也不做。它用于那些 语法上必须要有什么语句,但程序上什么也不要做的场合,例如:
>;>;>; while True:
... pass # Busy-wait for keyboard interrupt
. ..
(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  

    关于我们友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
     
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.
     

                   滇ICP备05006901号