我在学习Python的过程中,我已经到了关于pass语句的部分。我正在使用的指南将其定义为通常用作占位符的空语句。

但我还是不太明白这是什么意思。pass语句将被使用的简单/基本情况是什么?为什么需要它?


当前回答

首先,如果你想写一个block,像这样:

if statement:
    pass
for i in range(abc):
    pass
def func():
    pass

pass can是一个占位符。

其次,它可以让你与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。

其他回答

正如书中所说,我只把它用作临时占位符,也就是说,

# code that does something to to a variable, var
if var == 2000:
    pass
else:
    var += 1

然后填充var == 2000的场景。

最好和最准确的理解pass的方式是显式地告诉解释器什么都不做。以同样的方式输入以下代码:

def foo(x,y):
    return x+y

意思是“如果我调用函数foo(x, y),将标签x和y所代表的两个数字相加并返回结果”,

def bar():
    pass

意思是“如果我调用函数栏(),什么都不做。”

其他答案都很正确,但它也适用于一些不涉及占位的事情。

例如,在我最近编写的一段代码中,有必要对两个变量进行除法,并且除数可能为零。

c = a / b

显然,如果b为零,将产生一个ZeroDivisionError。在这种特殊情况下,在b为零的情况下,让c为零是理想的行为,所以我使用了以下代码:

try:
    c = a / b
except ZeroDivisionError:
    pass

另一种不太标准的用法是为调试器放置断点。例如,我想要一段代码在For语句的第20次迭代时进入调试器。在声明。所以:

for t in range(25):
    do_a_thing(t)
    if t == 20:
        pass

在传递时使用断点。

在Python中,pass语句用于在语法上需要语句,但不希望执行任何命令或代码的情况。

pass语句是一个空操作;执行时什么也不发生。pass在你的代码最终要去的地方也很有用,但还没有写出来(例如,在存根中):

例子:

#!/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!

如果字母的值是'h',上面的代码不会执行任何语句或代码。当您创建了一个代码块时,pass语句很有用,但不再需要它。

然后,您可以删除块中的语句,但让块保留pass语句,这样它就不会干扰代码的其他部分。

Pass is usually helpful when you are writing code to design a game or something of that type , now as you proceed with the code , you would realize that , there are some functions you don't want to move ahead and want to leave it untouched and move further on with the code and then revisit the function later , but as you do so , the compiler would obviously thrown an error saying it isn't either recognized and all sorts of other things!! In this condition you use pass so that the compiler would simply neglect the function and move further on with the code !!

例如:

if __name__ = "__main__":
pass
print("Hello World!")

在这里,编译器将忽略if name部分,并按照指示打印Hello World !!

谢谢!

在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可以在这种情况下使用。