语句块不是一种语句,是一组语句。在条件为真时执行或者多次的一组语句。主要注意其格式,用冒号来标识语句块的开始,块中每行缩进相同的量,一般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循环。
1、is:同一性运算符
x=y=[1,2,3]
z=[1,2,3]
x==y
True
x==z
True
x is y
True
x is z
False
通过以上例子可得is运算符是判定同一性而不是相等性的。变量x和y都被绑定在同一个列表上,而变量z被绑定在另一个焗油相同数值和顺序的列表上。它们的值可能相等,但是却不是同一个对象。
总结:使用==判读两个对象是否相等,使用is判断两个对象是否等同。
2、布尔运算符
and运算符就是所谓的布尔运算符。它连接两个布尔值,并且在两者都为真时返回真,否则返回假。
与它同类的还有两个运算符or和not
3、条件表达式
a if b else c表示b为真则返回a,否则返回c
4、断言
assert相当于语句:
if not condition
crash program(程序崩溃)
你可以试试以语句:
age=-1
assert 0<age<100, ‘The age must be realistic’
Traceback (most recent call last):
File “”, line 1, in ?
AssertionError: The age must be realistic
5、while循环
name=’’
while not name:
name = raw_input('please enter your name ')
print ‘Hello,%s!’ %name
运行该程序,如果直接输入一个空格,程序会接受这个名字,因为包括一个空格的字符并不是空的,我们可以把while not name改为while not name or name.isspace()或者改为while not name.strip()
6、for循环
words = [‘this’, ‘is’, ‘an’, ‘ex’, ‘parrot’]
for word in words:
print word
for number in range(1,101):
print number
xrange函数类似于range,只是range一次创建整个序列,而xrange一次只创建一个数。