要防止Python模块导入自身,可以使用if __name__ == "__main__":
语句来判断当前模块是否是主程序运行模块。
在Python中,每个模块都有一个名为__name__
的内置变量,该变量表示模块的名称。当模块被直接运行时,__name__
的值为"__main__"
,而当模块被其他模块导入时,__name__
的值为模块的名称。因此,可以使用if __name__ == "__main__":
语句来判断当前模块是否是主程序运行模块。
例如,假设有一个名为my_module.py
的模块,其中包含以下代码:
def my_function():
print("Hello, world!")
if __name__ == "__main__":
my_function()
当直接运行my_module.py
文件时,__name__
的值为"__main__"
,因此my_function()
函数会被调用并输出Hello, world!
。但是,当该模块被其他模块导入时,__name__
的值为模块的名称,因此my_function()
函数不会被调用。
这样,就可以防止Python模块导入自身。
领取专属 10元无门槛券
手把手带您无忧上云