python条件、循环语句

既然讲到语句,那先说明一下语句块。语句块不是一种语句,是一组语句。在条件为真时执行或者多次的一组语句。主要注意其格式,用冒号来标识语句块的开始,块中每行缩进相同的量,一般4个空格(tab字符位置为8个空格,不使用)。简单的说就是通过缩排使语句成组的一种方式。

条件语句if

python中,False、None、0、""、()、[]、{}这些作为布尔表达式的时候都会为假。

if语句也很简单,在if和冒号之间的表达式为真,则执行;else在第一个语句块为假时执行。检查多个条件使用elif。在条件中的运算符就是比较运算符,出了比较大小等之外,还有几个需要注意:

x is y            x和y是同一对象

x is not y        x和y不是同一对象

x in y            x是y容器(成员资格检查)

x not in y     x不是y容器

==运算符判断两个对象是否相等,而is判断是否是同一个对象

断言,简单的说就是肯定某条件为真。使用assert关键字检查条件或检查函数参数属性等,在程序出现错误条件时,直接崩溃,有助于排错。

while循环与for循环

while循环,条件为真的时候重复执行一个代码块,当需要为一个集合的每一个元素执行一个代码块的时候就需要for循环了。能使用for循环,就尽量不使用while循环。

以两个例子来表示:

循环遍历字典

break跳出循环,而continue跳过循环体,不结束循环。

while True实现一个自己不会停止的循环,但是在循环内部加入满足条件break可以终止循环。

列表推倒式,可以说是循环的一种表达式。是利用其他列表来创建新的列表。

pass、del、exec

pass语句什么都不做,可以作为占位符使用。如果不用pass(这里是作占位符),则报错,python中空代码块是非法的。

当要删除一个字典或者序列的时候,可以使用置空(None),也可以使用del语句。它会移除一个对象的引用,也会移除这个名字的本身。

exec语句用与执行python程序相同的方式来执行字符串。通过增加in<scpoe>来实现放置代码字符串命名空间的字典。

内建函数eval对写在字符串中的表达式进行计算并返回结果。eval也可以使用命名空间,一个全局一个局部,全局必须是字典,局部可以是任何形式的映射。

exec或者eval的作用域跳用可以在其之上调用。

猜你喜欢

转载自www.cnblogs.com/whych/p/9471702.html