面试题答案
一键面试1. 导入时 main()
方法的执行情况
当一个包含 main()
方法的Python脚本作为模块被其他脚本导入时,main()
方法会直接被执行。这是因为Python在导入模块时,会执行模块中的所有可执行代码,main()
函数的定义和调用也属于可执行代码。
2. 确保 main()
方法在导入时不被意外执行,同时在直接运行脚本时正常执行的原理及方法
原理:Python脚本在执行时,会定义一个内置变量 __name__
。当脚本直接运行时,__name__
的值被设置为 __main__
;当脚本作为模块被导入时,__name__
的值被设置为模块的名称。
方法:通过检查 __name__
的值,来决定是否执行 main()
方法。
3. 代码示例
def main():
print("This is the main function.")
if __name__ == "__main__":
main()
在上述代码中,if __name__ == "__main__":
语句确保了只有在脚本直接运行时,main()
函数才会被执行。当该脚本被其他脚本导入时,if
语句中的代码块不会被执行。