本文介绍下python条件和循环语句的语法
一、if条件语句
语法格式如下:
if 表达式: .... elif 表达式: .... elif 表达式: .... else: .....
说明:与其它语言的语法区别是,表达式或else后面要加 冒号 结尾。
语句块没有用一些标识符括起来,而是靠缩进来标记。
二、while循环
语法格式是:
while 表达式:
........
三、for循环
for循环用于遍历一个集合,语法格式是:
for 元素 in 集合
........
举例如下:
>>> value=""
>>> for i in range(1,10):
... value = value+str(i)+","
...
>>> print value
1,2,3,4,5,6,7,8,9,
说明,上面代码的range是python内置函数,创建一个范围内数字集合(不包括下限),用这个函数可以代替其它语言中的 for(i=1;i<10;i++)这种使用方式。
str也是python的一个内置函数,这里是将整数转为字符串。因为在python中,无法直接将数字和字符串相加,需要转换下。
四、break 和 continue语句
同其它语言一样,python也有break 和 continue语句,用在循环中,含义同其它语言。
五、pass、del 、exec和eval语句
在python中,还有几个特殊的语句,如下:
1、pass语句
表示一个空语句,啥事都没干。这个还是有用的,比如用在条件语句体中。
2、del语句
用于删除某个变量,如
>>> x=1
>>> print x
1
>>> del x
>>> print x
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
变量x一旦被删除后,则再引用会报错。
3、exec 和 eval语句
exec语句用于动态执行python语句,即将python语句当字符串传入后执行。如:
exec ("print 23")
调用后会执行 print 23 语句
eval语句会计算一个表达式,并返回表达式的值,如:
print eval("3+5")
输出为 8
说明,在使用exec和eval时要小心,特别是在里面给变量赋值时,防止覆盖外部的变量,如:
>>> x=12
>>> exec("x='good'")
>>> print x
good
可以看出exec中的变量 x 覆盖了外部定义的变量。如果想要exec中的执行对外部没影响,可以指定一个命名空间。如:
>>> scope={}
>>> x=2
>>> exec 'x="helo"' in scope
>>> print scope["x"]
helo
>>> print x
2
可以看出,通过 in scope,使得exec的执行范围在对象scope的范围内。注意,scope对象还可以设置初始值,可以被exec中语句使用。
如果exec 或 eval语句要执行多条python语句,就用 ''''括起来的长字符串即可。