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

  述:在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

真值,也就是布尔值,只有两个量,TrueFalse

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

布尔值TrueFalse属于布尔值,bool函数可以将其他的值转换成布尔值,包括liststr以及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

等于 y

x < y

小于 y

x > y

大于 y

x <= y

小于等于 y

x >= y

大于等于 y

x != y

不等于 y

x is y

 y是同一个对象

x is not y

 y不是同一个对象

x in y

 y容器中的成员

x not in y

不是 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

 



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值