1. 程式人生 > >Python中的break、continue和pass的詳解

Python中的break、continue和pass的詳解

break

當在while或者for中使用break的時候break會跳出整個迴圈,也就是else裡面的語句也不會執行,將跳出整個迴圈

print('---------------break-------------')
for x in 'huhailong':
	if(x == 'o'):    #當遍歷到o的時候跳出整個迴圈
		break
	print(x)

執行結果:

---------------break-------------
h
u
h
a
i
l

從結果我們可以看出當遍歷到o以後直接跳出了整個迴圈,而沒有繼續輸出 'n','g'

這裡需要注意的時,再python中存在else的時候(if、while、for)當迴圈的條件為false時會執行else,但再使用了break後,else中的內容也不會執行,因為它也屬於一個迴圈體裡的一部分

print('---------------帶有else的break------------')
count = 10
while(count > 0):
	if(count == 5):
		break
	print('    %d    '%count)
	count-=1
else:
	print('遍歷完畢')

執行結果

---------------帶有else的break------------
    10
    9
    8
    7
    6

可以看到,再break後並沒有執行else中的‘遍歷完畢’

continue

當在while或者for中使用continue的時候continue會跳過當前迴圈,然後再進入下一次迴圈,不會跳出整個迴圈,只是跳過符合continue的條件

print('---------------continue----------')
for x in 'huhailong':
	if(x == 'o'):
		continue
	print(x)

執行結果

---------------continue----------
h
u
h
a
i
l
n
g

可以看出同樣時'huhailong'這個字串,break遍歷到o會跳出整個迴圈,而continue不會跳出整個迴圈,而是跳過 'o' 以後繼續遍歷後面的字元

pass

Python pass是空語句,是為了保持程式結構的完整性

比如我們再Java中這樣寫

if(a>b){
    //沒有內容
}else{
    //沒有內容
}

但在python中就要這樣寫

if a > b:
    pass
else:
    pass

當我們有了大概的思路,可以用pass來做佔位符,但儘量使用