【Python】if name == ‘main‘ 详解

时间:2021-04-15 01:27:59


文章目录


【Python】if name == ‘main‘ 详解


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’: 块中的代码不会被执行。