Python 2.7 学习笔记 条件与循环语句

时间:2022-05-29 11:39:24

本文介绍下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语句,就用 ''''括起来的长字符串即可。