自定义断言中是否需要使用“pass”语句?

3

请考虑:

class MyCleanUpError(Exception):
    """Error raised during teardown."""
    pass

对比:

class MyCleanUpError(Exception):
    """Error raised during teardown."""

我看到过类的声明有使用和不使用 pass 语句的情况。哪种方式更合适?


3
如果没有文档字符串,就需要使用 pass 语句。 - Stephen Rauch
1
可能是 如何在 Python 中使用 pass 语句 的重复问题。 - Stephen Rauch
1个回答

2

pass语句仅仅是不做任何事情。由于"""whatever this string is"""是一个有效的对象,因此没有pass语句也是可以的。在Python3+中,您还可以使用... (Ellipsis)、1None或其他任何您想要执行的操作。

您只需要避免这样写:

class MyCleanUpError(Exception):

# 其他代码

否则,您将遇到IndentationError。 您也不能使用注释作为占位符。 通常使用pass...是合适的,因为它们比1或仅具有docstring更有意义。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接