由于 python 中没有 switch/case 语句,break 关键字现在也就只能用于循环控制了
跟大多数编程语言一样,break 可以中止当前层的循环
例子:1
2
3
4
5
6for i in range(10):
if (i == 5):
break
print i,
0 1 2 3 4
在 python 里,for 语句多了一个功能,就是能搭配 else 语句使用!
看看官方给的例子,判断 2-9 中的质数和因数1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print n, 'equals', x, '*', n/x
break
else:
print n, 'is a prime number'
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
可以看到,else 语句的缩进和 for 语句的缩进是一样的,也就是说,这里的 else 不是 if 的字句,而是 for 的子句
这里的话,可以从输出结果中看出来,else 子句的执行条件是:for 循环正常执行完毕,或者(while 语句的条件判断结果为 false 时)
如果 for 语句或者 while 语句在半途中被 break 掉,那么将不会执行 else 子句中的内容
关于 continue 语句,也直接来看例子就好了,用法跟其他流行刘系语言中的 continue 的基本一致,用于结束本次循环的执行体,跳转到下一次循环
判断 2-9 中的奇数和偶数1
2
3
4
5
6
7
8
9
10
11
12
13
14for num in range(2, 10):
if num % 2 == 0:
print 'Found an even number', num
continue
print 'Found a number', num
Found an even number 2
Found a number 3
Found an even number 4
Found a number 5
Found an even number 6
Found a number 7
Found an even number 8
Found a number 9
顺带一提 pass 语句,感觉这是基本用不到的东西,就不单独另外开贴说了
这个语句在编程中应该算是个概念语句,它不做具体的东西,它只是一个默默的占位符一样的东西
它的意思就是去执行下一条语句
官方给了个很有意思的例子1
2
3
4
5
6
7
8
9
10
11
12
13while True:
pass # 你只有用 Cirl+C 才能终止我
...
dfadsfsadf
sdf
ads
f
er
^CTraceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyboardInterrupt
这玩意我现在看来就是个玩具,只是用来玩的东西而已
不过 python 既然把它作为标准关键字之一的话,那可能有点实用价值,等我以后发觉了再回来补充吧