一、定义
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