跳到内容

unnecessary-placeholder (PIE790)

派生自 flake8-pie 代码检查工具。

修复总是可用的。

作用

检查函数、类和其他代码块中不必要的 pass 语句和省略号 (...) 字面量。

为什么这不好?

在 Python 中,pass 语句和省略号 (...) 字面量充当占位符,允许在语法上正确的空代码块。这些节点的主要目的是避免在语法上需要语句或表达式,但不需要执行任何代码的情况下的语法错误。

如果 pass 或省略号出现在包含至少一个其他语句(甚至例如,文档字符串)的代码块中,则它是非必要的,应该删除。

示例

def func():
    """Placeholder docstring."""
    pass

建议改为

def func():
    """Placeholder docstring."""

或者,给定

def func():
    """Placeholder docstring."""
    ...

建议改为

def func():
    """Placeholder docstring."""

修复安全性

在极少数情况下,如果 pass 或省略号后面跟着字符串字面量,则此规则的修复被标记为不安全,因为删除占位符会将后续字符串字面量转换为文档字符串。

参考