我在学习Python的过程中,我已经到了关于pass语句的部分。我正在使用的指南将其定义为通常用作占位符的空语句。
但我还是不太明白这是什么意思。pass语句将被使用的简单/基本情况是什么?为什么需要它?
我在学习Python的过程中,我已经到了关于pass语句的部分。我正在使用的指南将其定义为通常用作占位符的空语句。
但我还是不太明白这是什么意思。pass语句将被使用的简单/基本情况是什么?为什么需要它?
当前回答
正如书中所说,我只把它用作临时占位符,也就是说,
# code that does something to to a variable, var
if var == 2000:
pass
else:
var += 1
然后填充var == 2000的场景。
其他回答
一个可以“按原样”使用的常见用例是重写一个类来创建一个类型(在其他方面与超类相同),例如。
class Error(Exception):
pass
因此,您可以引发并捕获Error异常。这里重要的是异常的类型,而不是内容。
在Python中,pass基本上什么都不做,但与注释不同的是,它不会被解释器忽略。所以你可以在很多地方利用它,把它变成占位符:
1:可以在课堂上使用
class TestClass:
pass
2:可以在循环语句和条件语句中使用:
if (something == true): # used in conditional statement
pass
while (some condition is true): # user is not sure about the body of the loop
pass
3:可用于功能:
def testFunction(args): # The programmer wants to implement the body of the function later
pass
当程序员暂时不想给出实现,但仍然想创建某个类/函数/条件语句以供以后使用时,通常使用Pass。由于Python解释器不允许出现空白或未实现的类、函数或条件语句,因此会给出一个错误:
IndentationError:期望一个缩进的块
Pass可以在这种情况下使用。
正如书中所说,我只把它用作临时占位符,也就是说,
# code that does something to to a variable, var
if var == 2000:
pass
else:
var += 1
然后填充var == 2000的场景。
Pass只是空的表示代码。
例如,pass用于创建一个空类或函数,如下所示:
class Test:
pass
def test():
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
pass用于避免Python中的缩进错误。
如果我们以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