一、定義
Python pass是空語句,是爲了保持程序結構的完整性。pass 不做任何事情,一般用做佔位語句。類比於Java和C++的單獨一個分號和一對空的大括號,也就是空語句。千萬不要因爲單詞意思,和continue語句搞混亂。
python中if ,for等複合語句通常是由一個語句頭和語句體構成。語句體中出現的語句數量並沒有限制,但是至少需要一行。偶爾可能會需要一個語句體什麼也不做(通常是標記一個你還沒來得及寫的代碼的位置),這個時候就需要pass了。pass是空語句,是爲了保持程序結構的完整性,避免語法錯誤。pass 不做任何事情,一般用做佔位語句。
Python 語言 pass 語句語法格式如下:
pass
實例:
# 輸出 Python 的每個字母
for letter in 'Python':
if letter == 'h':
pass
print '這是 pass 塊'
print '當前字母 :', letter
print "Good bye!"
以上實例執行結果:
當前字母 : P
當前字母 : y
當前字母 : t
這是 pass 塊
當前字母 : h
當前字母 : o
當前字母 : n
Good bye!
二、作用
一般作爲佔位符或者創建佔位程序,pass語句不會執行任何操作。
(1)邏輯上不需要實現的空語句;
(2)或者是留給以後或其他人實現的 部分。
- 空語句 do nothing
- 保證格式完整
- 保證語義完整
以if語句爲例,在c或c++/java中:
if(true)
; //do nothing 或者 {}
else
{
//do something
}
對應於python就要這樣寫:
if True:
pass #do nothing
else:
#do something
示例:在 Python 中有時候會看到一個 def 函數:
def sample(n_samples):
pass
該處的 pass 便是佔據一個位置,因爲如果定義一個空函數程序會報錯,當你沒有想好函數的內容是可以用 pass 填充,使程序可以正常運行。
三、具體用法
3.1 pass語句在函數中的作用
當你在編寫一個程序時,執行語句部分思路還沒有完成,這時你可以用pass語句來佔位,也可以當做是一個標記,是要過後來完成的代碼。比如下面這樣:
def func():
pass
定義一個函數func,但函數體部分暫時還沒有完成,又不能空着不寫內容,因此可以用pass來替代佔個位置。
3.2 pass語句在循環中的作用
pass也常用於爲複合語句編寫一個空的主體,比如說你想一個while語句的無限循環,每次迭代時不需要任何操作,你可以這樣寫:
while True:
pass
以上只是舉個例子,現實中最好不要寫這樣的代碼,因爲執行代碼塊爲pass也就是空什麼也不做,這時python會進入死循環。
更多用在有控制的循環中,一直檢測某個flag,等待線程執行:一直到flag爲False的時候,線程結束。
while flag:
pass