Python基础05 缩进和选择

缩进

Python 最具特色的是用缩进来标明成块的代码,我下面以if选择结构来举例。if后面跟随条件,如果条件成立,

则执行归属于if的一个代码块。

先看C语言的表达方式(注意,这是c,不是Python!)

if( i > 0 )

{

  x = 1;

  y = 2;

}

如果i > 0 的话,我们将进行括号中所包括的两个赋值操作,括号中包含的就是块操作,他隶属于if.

在Python中,同样的目的,这段话是这样的

if i > 0:

  x = 1

  y = 2

在Python中, 去掉了 i > 0 周围的括号,去掉了每个语句句尾的分号,表示块的花括号也消失了。

多出来了 if ... 之后的:(冒号) ,还有就是x = 1 和y=2前面有四个空格的缩进,通过缩进,Python识别出这两个语句是

隶属于这个if.

Python 这样设计的理由纯粹是为了程序好看。

if 语句

写一个完整的程序,命令为 ifDemo.py. 这个程序用于实现if结构。

i = 1

x = 1

if x > 0:

  x = x+1

print x

$python ifDemo.py # 运行

程序运行到if的时候,条件为True, 因此执行 x = x+1,

print x 语句没有缩进 那么就是if之外。

如果将第一句改成 i = -1 ,那么if 遇到假值(False) , x = x+1 隶属于if,这一句跳过,print x 没有缩进,是if之外,

不跳过,继续执行。

这种以四个空格的缩进来表示隶属关系的书写方式,以后还会看到,强制缩进增强了程序的可读性。

复杂一些的if 选择:

i= = 1

if i > 0:

  print 'positive i'

  i = i + 1

elif i == 0:

  print 'i is 0'

  i = i * 10

else:

  print 'negative i'

  i = i - 1

print 'new i:',i

这里有三个块,分别属于 if, elif else引领。

Python检测条件,如果发现if的条件为假,那么跳过后面紧跟的块,检测下一个elif的条件;如果还是假,那么执行else

块。通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。

整个if 可以放在另一个if语句中,也就是if结构的嵌套使用:

i = 5

if i > 1:

  print 'i bigger than 1'

  print 'good'

  if i > 2:

    print 'i bigger than 2'

    print 'even better'

if i > 2  后面的块相对于该if缩进了四个空格,以表明其隶属于该if,而不是外层的if.

总结

if 语句之后的冒号

以四个空格的缩进来表示隶属关系,Python 中不能随意缩进

if <条件1>:

  statement

elif <条件2>:

  statement

elif <条件3>:

  statement

else:

  statement

 

posted @ 2017-12-29 15:50  zhangsima  阅读(190)  评论(0编辑  收藏  举报