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