Python3学习笔记 | 十五、Python的语句与语法-while语句与for语句

  • 2019 年 10 月 6 日
  • 笔记

一、while 语句

1、简介

在Python里,while语句是最常见的循环语句。先看一下while语句的一般格式:

while <test1>:  <statement1>  else:  <statement2>

只要测试语句为真,会一直循环。当test1为假的时候会运行else语句里的内容。 从这里,退出循环的方法有:

1、在里的语句更改的结果为False

2、在里的语句里增加break语句来跳出循环

3、在里的语句里增加exit()来退出Python,这种方法将退出整个Python程序。

2、while循环例子

死循环:

while True:  print 'Please type "Control" + "C" to stop this'

这个循环会在你屏幕上一直打印重复的语句,使用Control +C的组合键可以退出。

>>> a = 0 ; b = 7  >>> while a < b :  ...     print(a,end=' ')  ...     a += 1  ...  0 1 2 3 4 5 6 >>>

二、break, continue语句

break语句是用来退出最近所在的for语句或while语句。

continue语句是用来跳到最近所在的for语句或者while语句的结尾。

>>> a = 0 ; b = 7  >>> while a < b :  ...     a += 1  ...     if a == 3 : continue  ...     if a == 6 : break  ...     print(a,end=' ')  ...  1 2 4 5 >>>

三、pass 语句

之前讲过,pass语句是占位的空语句。因为有些时候(测试时)需要写框架,但里面没有具体语句,但需要正常运行的时候,就需要设置空语句(pass)来代替。

>>> if 1 :  ...     print('DoraEmon')  ... else :  ...  File "<stdin>", line 4^  IndentationError: expected an indented block

在这个时候我们需要一个pass来替代else自语句里的空。

>>> if 1 :  ...     print('DoraEmon')  ... else :  ...     pass  ...  DoraEmon

四、else 语句

else语句,只有在for语句和while语句正常结束后,会运行:

>>> a = 0 ; b = 7  >>> while a < b :  ...     print(a,end = ' ')  ...     a += 1  ... else :  ...     print('DoraEmon')  ...  0 1 2 3 4 5 6 DoraEmon

但中间有break的时候,就不会执行else

>>> while True :  ...     print('Dora')  ...     break  ... else :  ...     print('Emon')  ...  Dora

else语句能帮助你在语句正常执行时插一句。

五、for 语句

1、简介

for语句在Python里是一个通用的序列迭代器:可以遍历任何有序的序列对象内的元素。可用于字符串、列表、元祖、其它内置可迭代对象以及之后我们能够通过类所创建的新对象。 一般格式:

for <target> in <object>:  <statements>  else:  <statements>

在这里object 需是可迭代的对象。每次从object里提取一个元素赋给target,之后循环之行statements里的语句。

2、for循环用法

使用for循环时,其它开发语言(比如C)会使用一个变量,定义起始,结束,递增值。但Python里只能做迭代。这个时候可以使用range函数来代替。

range函数格式: range([起始值],结束值,[递增值])

在这里,起始值默认是0,递增值默认为1。C语言里for(i=0,i<7,i++)可以写成 for i in range(0,7,1)。因为起始的0与递增值1可以省略,可以写成for i in range(7)。

>>> for i in range(7) :  ...     print(i,end = ' ')  ...  0 1 2 3 4 5 6 >>>

迭代后的元素为固定长度的元祖、列表的时候:

>>> for a,b,c in [(1,2,3),(4,5,6),(7,8,9)] :  ...     print(a,b,c)  ...  1 2 34 5 67 8 9

嵌套循环(不一定是固定长度):

>>> for i in [(1,2,3),(4,5,6),(7,8,9)] :  ...     for j in i :  ...             print(j,end = ' ')  ...     print()  #起到换行作用  ...  1 2 3  4 5 6  7 8 9