您的位置:首页 > 编程语言 > Python开发

(6) Python 语句和语法 –- 条件和条件语句

2016-04-03 21:30 411 查看
概  述:在python中,除了一条一条顺序执行的顺序语句之外,还会有让程序选择是否执行语句块的条件语句。

 

1  python语句块

所谓的语句块,就是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句。语句块的创建是在语句前面放置空格或者tab符。注意的是,语句块中的每一行语句都应该缩进相同的量。

在python中,用冒号(:)来标识语句块的开始,块中的每一个语句都是缩进的(缩进量相同)。当程序回退到和已闭合的块一样的缩进量时,代表当前语句块已经结束。

Python语句块的伪代码可以表示成如下的形式:

 
1
2
3
4
5
6
This is a line
This is another line
This is a block
Continuing the same block
The last line of this block
There we escaped the inner block
 

2  条件

2.1 布尔变量(boolean)

真值,也就是布尔值,只有两个量,True和False。

下面的值在作为布尔表达式的时候,会被解释器看做是假(False):
False None 0 "" () [] {}。也就是说,标准值False和None,所有类型的数字0,空序列,以及空的字典都为假,其他的一切都被解释为真,包括特殊值True。在python中,所有的值都能被解释成为真值。

布尔值True和False属于布尔值,bool函数可以将其他的值转换成布尔值,包括list、str以及tuple。因为所有的值都可以用作布尔值,所以python会自动转换这些值,不需要对它们进行显示转换。其相应的操作说明如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>> bool(None)
False
>>> bool(0)
False
>>> bool(0.0)
False
>>> bool("")
False
>>> bool(())
False
>>> bool([])
False
>>> bool({})
False
>>> bool(42)
True
>>> bool("I Love You")
True
 

尽管[]和""都是假值,但它们本身是不相同的,如下所示:
1
2
3
4
>>> bool([]) == bool("")
True
>>> [] == ""
False
 

2.2 比较运算符

用在条件中的基本运算符是比较运算符,它们用来比较其他对象,python中的比较运算符如下所示:

表达式
描述
x == y
x 等于 y
x < y
x 小于 y
x > y
x 大于 y
x <= y
x 小于等于 y
x >= y
x 大于等于 y
x != y
x 不等于 y
x is y
x 和 y是同一个对象
x is not y
x 和 y不是同一个对象
x in y
x 是 y容器中的成员
x not in y
x 不是 y容器中的成员
 

2.3 相等运算符

    如果想要知道两个东西是否相等,可使用相等运算符,即两个等号 == 。
1
2
3
4
>>> "foo" == "foo"
True
>>> "foo" == "bar"
False
 

2.4 同一运算符

同一运算符 is 表示的是两个东西是否是同一对象,它与 == 是不同的。其区别如下
1
2
3
4
5
6
7
8
9
10
>>> 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.5 成员资格运算符

成员资格运算符in可以像其他比较运算符一样在条件语句中使用。
1
2
>>> "lx" in "i love you, lx"
True
 

2.6 字符串和序列比较

字符串可以按照字典序列进行比较。
1
2
3
4
>>> "alpha" < "beta"
True
>>> [1,2] < [2,1]
True
 

3  条件语句

3.1 if语句

    if语句可以实现条件执行。如果条件判定为真,则后面的语句块就会被执行,如果条件判定为假,语句块就不会被执行。
1
2
3
4
5
6
7
>>> name = raw_input('What is your name?\n')
What is your name?
Gumby
>>> if name.endswith('Gumby'):
...     print 'Hello, Gumby!'
...
Hello, Gumby!
 

3.2 else语句

可以用else子句增加一种选择,作为if语句的一部分。如果条件判定为假,就转入到else子句中的代码块。
1
2
3
4
5
6
7
8
9
>>> name = raw_input('What is your name?\n')
What is your name?
XLX
>>> if name.endswith('Gumby'):
...     print 'Hello, Gumby!'
... else:
...     print 'Hello, stranger!'
...
Hello, stranger!
 

3.2 elif语句

    如果需要检查多个条件,可以使用elif。
1
2
3
4
5
6
7
8
9
10
11
>>> num = input('Enter a number:\n')
Enter a number:
5
>>> if num > 0:
...     print 'The number is positive'
... elif num < 0:
...     print 'The number is negative'
... else:
...     print 'The number is zero'
...
The number is positive
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python