面试题答案
一键面试__name__
在模块管理中的作用
__name__
是Python中每个模块都有的一个内置属性。当模块被直接运行时,__name__
的值被设置为'__main__'
;当模块被导入时,__name__
的值为模块的名字。这一特性使得模块可以知晓自身的运行方式,从而执行不同的代码逻辑,例如在模块被直接运行时执行测试代码,而在被导入时不执行这些测试代码,只提供模块的功能。
示例
def main():
print("这个模块被直接运行")
if __name__ == '__main__':
main()
else:
print("这个模块被导入")
在上述示例中,如果直接运行这个Python文件,if __name__ == '__main__':
条件成立,main
函数会被调用并输出"这个模块被直接运行"。若该模块被其他模块导入,if
条件不成立,会输出"这个模块被导入",main
函数不会被调用。