为什么 Python 在导入时执行模块代码
在 Python 中,导入模块并不只是加载其定义。相反,模块中包含的代码在导入时执行。这就提出了一个问题,“如何阻止此执行?”
在导入时停止模块执行
Python 的默认行为源于以下事实:诸如 " class”和“def”是语句而不是声明。这意味着它们会触发直接执行,用功能填充您的模块。为了覆盖这一点,惯用的方法采用以下格式的主函数:
# Always-run code (e.g., classes, definitions) def main(): # Code to execute only when the module is run directly if __name__ == "__main__": main()
通过定义主函数,您可以隔离仅应在模块作为其自己的程序执行时运行的代码(即,无需导入)。相反,无论模块如何使用,放置在主函数外部的代码都会运行。
以上是如何防止 Python 在导入时执行模块代码?的详细内容。更多信息请关注PHP中文网其他相关文章!