python - 为什么 python 在 `pass` 之后继续评估代码?

标签 python python-3.x

我在python中发现了一段有趣的代码:

def x(cond):
    if cond:
        pass
        print('Still running!')

x(True)

我希望这不会打印任何东西,但它会打印 Still running!。这里发生了什么?

最佳答案

根据 Python 文档:

pass is a null operation — when it is executed, nothing happens.

来源 - https://docs.python.org/3.5/reference/simple_stmts.html#pass

因此,pass 不会做任何事情,pass 之后的所有语句仍将被执行。

另一种思考方式是 pass 等同于任何伪语句:

def x(cond):
    if cond:
        "dummy statement"
        print('Still running!')

关于python - 为什么 python 在 `pass` 之后继续评估代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34970889/

相关文章:

python - 使用 Groupby 自定义时间段

python 3 : Function "A list with the strings and their index"

python - 为什么 from tkinter import * 不导入 Tkinter 的消息框?

python - 保存到 Django 中的模型后返回主键

python - 如何在 pygame 中显示平滑的加载栏?

python - 如何在python中实现CRTP功能?

python - 用于删除圆括号的函数不起作用,Python 3

python - 冒泡排序算法中的循环到底是如何工作的? (Python 3)

python - 如何从控制台为模型创建对象,类似于 Django 创建 createsuperuser 命令的方式

python - 元组正在将 float 转换为字符串