我正在学习Python,目前已经学到了有关 pass
语句的部分。我的教程定义它是一个空语句,通常被用作占位符。
然而,我仍然不完全理解这意味着什么。在什么简单/基本的情况下需要使用 pass
语句,为什么需要使用它呢?
我正在学习Python,目前已经学到了有关 pass
语句的部分。我的教程定义它是一个空语句,通常被用作占位符。
然而,我仍然不完全理解这意味着什么。在什么简单/基本的情况下需要使用 pass
语句,为什么需要使用它呢?
Pass通常在编写设计游戏或类似项目的代码时非常有用。随着代码的进展,您会意识到有一些函数不想继续执行,希望将其保持不变并继续进行代码编写,然后稍后再回来处理该函数。但是,这样做时,编译器显然会抛出错误,说它无法识别等各种问题!在这种情况下,您可以使用pass,以便编译器简单地忽略该函数并继续进行代码编写!
例如 -
if __name__ = "__main__":
pass
print("Hello World!")
在这里,编译器会忽略 if name 部分,并按照指示打印 Hello World!
谢谢!
首先,如果你想写一个像这样的代码块:
if statement:
pass
for i in range(abc):
pass
def func():
pass
pass
可以作为一个占位符。
其次,它可以让你与IDE“交流”:
当你想让你的IDE像这样减少缩进时:
如果你的程序在这里编写:
class abc(parent):
def __init__(self, params):
self.params=params
if d:
return
else:
return
# cursor in there
现在你的缩进计数是2,但你想让它在下一行变成1。
你可以输入pass
,然后你的程序就会变成这样:
class abc(parent):
def __init__(self, params):
self.params=params
if d:
return
else:
return
pass# cursor in there
并返回。它会让你感到高兴:
class abc(parent):
def __init__(self, params):
self.params=params
if d:
return
else:
return
pass
# cursor in there
现在缩进计数为1。
gen
是一个Iterator
:i = 0
obj = None
for i, obj in enumerate(gen):
pass
这个操作可以一次性获取最后一个从gen
中yield
出来的对象以及gen
的长度。(有点类似于C语言中以分号结束的while
循环,想想看。)
pass只是表示空白的指示代码。
例如,pass
用于创建如下所示的空类或函数:
class Test:
pass
def test():
pass
但是,如果一个类或函数真的没有任何东西,甚至不需要像下面展示的pass
:
class Test:
# pass
def test():
# psss
下面显示了一个错误:
SyntaxError:解析时意外的EOF
正如我之前所说,pass
只是表示空白的指示代码,因此如果在pass
之后有一些代码,则代码将按照下面所示工作:
class Test:
pass
x = "Hello World"
def test():
pass
return "Hello World"
print(Test.x) # Hello World
print(test()) # Hello World
正如书中所说,我只将其用作临时占位符,即,
# code that does something to to a variable, var
if var == 2000:
pass
else:
var += 1
然后稍后填写var == 2000
的情况。
#!/usr/bin/python
for letter in 'Python':
if letter == 'h':
pass
print 'This is pass block'
print 'Current Letter :', letter
print "Good bye!"
Current Letter : P
Current Letter : y
Current Letter : t
This is pass block
Current Letter : h
Current Letter : o
Current Letter : n
Good bye!
如果letter的值为'h',则上述代码不会执行任何语句或代码。当您创建了一个代码块,但它不再需要时,pass语句非常有用。
然后,您可以删除块内的语句,但让该块保留一个pass语句,以便它不会干扰代码的其他部分。
Pass指的是忽略...就像它所描述的那样简单。如果给定的条件为真并且下一条语句是pass,它将忽略该值或迭代并继续执行下一行。
例如:
for i in range (1, 100):
if i%2 == 0:
pass
else:
print(i)
输出:打印从1到100的所有奇数
这是因为偶数的模数等于零,因此它会忽略该数字并继续处理下一个数字。由于奇数的模数不等于零,因此循环的else部分被执行并打印出来。
pass
的好方法,因为你可以简单地执行for i in range(1,100):print(i)if i%2else""
。 - MilkyWay90在Python中,pass用于避免缩进错误。
如果我们看C、C++和Java这样的语言,它们有大括号:
if(i==0)
{}
else
{//some code}
但在Python中,我们使用缩进代替大括号,为了避免这种错误,我们使用pass。
记得你正在玩一个测验。
if(dont_know_the_answer)
pass
示例程序,
for letter in 'geeksforgeeks':
pass
print 'Last letter: ', letter
pass
关键字。 - kojiroexcept
块中使用pass
非常方便。 - Mad Physicist