if name == ‘main’: 在 Python 中用于判断模块是否被直接运行。
在 Python 中,一个模块(.py 文件)既可以被导入作为一个模块使用,也可以直接运行作为一个独立的程序。当模块被导入时,Python 解释器会执行整个模块的代码,包括 if name == ‘main’: 块中的代码。这样会导致一些不必要的代码被执行。
if name == ‘main’: 块中的代码只会在模块直接被运行时执行,而不会在被导入时执行。因此,我们可以在 if name == ‘main’: 块中放置我们想要在模块直接运行时执行的代码,包括测试代码等。
例如,假设我们有一个名为 my_module 的模块,我们可以在 if name == ‘main’: 块中测试它:
# my_module.py
def my_function():
print('hello from my_function')
if __name__ == '__main__':
print('hello from my_module')
my_function()
当我们直接运行 my_module.py 文件时,if name == ‘main’: 块中的代码将会被执行。但是如果我们在另一个文件中导入了 my_module 模块,则 if name == ‘main’: 块中的代码不会被执行。