标签:python 流程控制
Python 用冒号: 作为程序块标记关键字。if/elif/else 判断语句
[root@SN28 opt]# cat test.py
#!/usr/bin/env python
# -- coding:utf-8 --
if name =="main":
print "Hello"
print "World"
[root@SN28 opt]# ./test.py
Hello
World
Python中可以使用pass语句来定义作用域,但不做任何操作
# -- coding:utf-8 --
if name =="main":
pass
技巧 : pass用于需要写代码,但实际什么也不做的场合
if expression1:
block_for_expression1
elif expression2:
block_for_expression2
....
elif expression3:
block_for_expression3
else:
block_for_False
实例:
#!/usr/bin/env python
# -- coding:utf-8 --
import sys
param=None
if len(sys.argv) > 1:
param=int(sys.argv[1])
if param is None:
print "Alert"
print "please input a number."
elif param < -10:
print ‘too small‘
elif param > 10:
print ‘too big‘
else:
print "so good"
注意: None 可以”=“赋值None,在条件判断中 用 is None
sys.argv 是一个系统List变量,sys.argv[0]为程序名,从第二个(索引1)开始的其他元素为字符串类型的控制台输入参数。
循环语句
1.
while expression:
repeat_block
2.
for element in iteralbe:
repeat_block
fruits=[‘apple‘,‘banana‘,‘orange‘,‘egg‘]
while len(fruits)>0:
print "pop element out",fruits.pop()
[root@SN28 opt]# ./test.py
pop element out egg
pop element out orange
pop element out banana
pop element out apple
[root@SN28 opt]#
#!/usr/bin/env python
# -- coding:utf8 --
import random
while True:
x=random.randint(1,6)
print (x)
if x==6:break
注释:True:用于死循环。 break 退出循环
列表
#!/usr/bin/env python
# -- coding:utf-8 --
myList=[‘Englis‘,‘chinese‘,‘Japanese‘,‘German‘,‘France‘]
#!/usr/bin/env python
# -- coding:utf-8 --
def pick(x):
myList=[‘Englis‘,‘chinese‘,‘Japanese‘,‘German‘,‘France‘]
return myList[x]
alist=[0,1,2,3,4]
choices=map(pick,alist)
for choice in choices:
print choice
解释:
map(执行用的函数,容器变量)
此函数会自动把每一个在容器变量中的元素都读去出来,放到执行用函数中当作参数,在把返回值合并到一个容器变量中。
map函数中设置pick和alist,它把alist中的每一个数值都放入pick中执行,在搜集pick所返回来的每一个值,最后都放到choices容器变量中
实例
#!/usr/bin/env python
# -- coding:utf8 --
alist=range(1,9)
y=map(lambda x:x3,alist)
for i,element in enumerate(y,1):
print "{}3 ={}".format(i,element)
[root@localhost opt]# ./test.py
13 =3
23 =6
33 =9
43 =12
53 =15
63 =18
73 =21
83 =24
迭代器 enumerate map filter
例外处理
在处理数据时,经常遇到例外,使程序产生错误信息并突然中断程序执行。把例外都拦截下来,加以处理,就是所谓的例外处理
#!/usr/bin/env python
# -- coding:utf8 --
while True:
try:
age=int(input("Please input age:"))
break
except:
print "please enter a number"
if age < 15:
print ‘you are too yong‘
凡是在try之内的语句只要有任何异常,程序控制流程就会自动跑到except之下的语句在程序中处理例外的情况。
处理不同种类的例外
[root@localhost opt]# cat test.py
#!/usr/bin/env python
# -- coding:utf8 --
import os,sys
try:
os.remove(‘filename‘)
except Exception as e:
print(e)
e_type,e_value,e_tb=sys.exc_info()
print("种类:{}\n消息:{}\n信息:{}".format(e_type,e_value,e_tb))
[root@localhost opt]# ./test.py
[Errno 2] No such file or directory: ‘filename‘
种类:<type ‘exceptions.OSError‘>
消息:[Errno 2] No such file or directory: ‘filename‘
信息:<traceback object at 0x7f9d99c6fb00>
说明:需要导入os,sys
先通过Exception 来捕捉所有的例外,并把例外事件以e当作是记录的对象,使用print(e)把例外的信息打印出来。
标签:python 流程控制
原文地址:http://blog.51cto.com/2168836/2103620