为了理解if __name__ == '__main__':
的工作原理,我们需要先了解Python中的特殊变量__name__
。
每个Python模块都有一个内置的变量__name__
。这个变量的值取决于如何执行模块:
-
如果模块是被直接运行的(例如,你使用命令
python myscript.py
在命令行中执行脚本),那么模块的__name__
变量会被设置为'__main__'
。 -
如果模块是被导入的(例如,通过
import myscript
语句),那么模块的__name__
变量会被设置为模块的名字(在这个例子中是'myscript'
)。
考虑以下情境:
假设我们有一个名为myscript.py
的文件,其中包含以下内容:
def some_function():
print("Function in myscript!")
print("Top-level in myscript!")
if __name__ == '__main__':
print("myscript is being run directly!")
else:
print("myscript is being imported into another module!")
-
直接运行模块:如果我们在命令行中使用
python myscript.py
直接运行此模块,输出将会是:Top-level in myscript! myscript is being run directly!
-
导入模块:假设我们在另一个Python脚本中(例如,
another_script.py
)使用import myscript
导入此模块。输出将会是:文章来源:https://www.toymoban.com/news/detail-633561.htmlTop-level in myscript! myscript is being imported into another module!
使用if __name__ == '__main__':
允许我们的Python脚本既可以独立运行,也可以作为模块导入,而不会执行不需要的代码。这提供了一种有效的方式来组织和封装代码,确保只有当模块直接运行时,某些代码(如单元测试或特定的脚本逻辑)才会被执行。文章来源地址https://www.toymoban.com/news/detail-633561.html
到了这里,关于浅谈 Python中if __name__ == ‘__main__‘:的工作原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!