Skip to content

Python pass 语句

Python 的 pass 语句是一个空操作语句。它用于创建空代码块和空函数。

Python pass 语句示例

让我们来看一些 Python pass 语句的例子。

1. 在代码块中传递语句

假设我们需要编写一个函数,从列表中删除所有偶数。在这种情况下,我们将使用 for 循环遍历列表中的数字。

如果该数字能被 2 整除,则不执行任何操作。否则,将其添加到临时列表中。最后,将仅包含奇数的临时列表返回给调用者。

Python 不支持空代码块。因此,我们可以在这里使用 pass 语句来表示 if 条件语句块中的空操作。

python
def remove_evens(list_numbers):
    list_odds = []
    for i in list_numbers:
        if i % 2 == 0:
            pass
        else:
            list_odds.append(i)
    return list_odds
 
 
l_numbers = [1, 2, 3, 4, 5, 6]
l_odds = remove_evens(l_numbers)
print(l_odds)

输出:

shell
[1, 3, 5]

这里 if 条件语句块中不需要任何操作。所以我们使用了 pass 语句来表示不需要任何操作。

2. 空函数的 pass 语句

Python 没有抽象函数的概念。如果我们要定义一个空函数,不能像这样写。

python
def foo():
    # TODO - implement later

输出:IndentationError:预期为缩进块

我们可以使用 pass 语句来定义一个空函数。该函数会包含一个语句,但它不会执行任何操作。

python
def foo():
    pass

函数中可以有多个 pass 语句吗?

是的,我们可以在一个函数或代码块中使用多个 pass 语句。这是因为 pass 语句并不会终止函数,它的作用仅仅是提供一个空语句。

python
def bar():
    pass
    print('bar')
    pass
 
if True:
    pass
    pass
    print('True')
else:
    print('False')
    pass
    pass

为什么我们需要 pass?

  • Python 的 pass 语句在定义空函数或空代码块时非常有用。
  • pass 语句最重要的用途是为我们稍后要实现的类和函数创建契约。例如,我们可以这样定义一个 Python 模块:
python
class EmployeeDAO:
 
    def get_emp_by_id(self, i):
        """
        TODO: implement this function later on
        :param i: employee id
        :return: employee object
        """
        pass
 
    def delete_emp(self, i):
        pass
 
# This function will read Employees CSV Data file and return list of Employees
def read_csv_file(file):
    pass

Python Pass 语句

我们可以继续进行实施。第三方代码已知晓我们将要实现的功能和方法,因此他们可以继续进行他们的实现。

接下来是什么?

资源