先来看个简单的例子
fun1.py
import fun2
fun2.fun()
fun2.py
def fun():
print("hello")
if __name__=='__main__':
print("run as main")
else:
print(__name__)
运行fun1.py的结果是
fun2
hello
运行fun2.py的结果是
run as main
现在来解释一下
name是当前模块名, 当程序被当做主函数(就是直接运行)时, 模块名变为’main‘, 而如果是作为模块被其他程序导入时, 模块名就是原来的名字. 所以if name == ‘main‘就是用来判断这个程序是在跑呢还是在被调用呢
本文通过两个Python脚本的例子详细解释了如何使用模块导入功能,并深入探讨了特殊变量__name__的作用。当作为主程序运行时,__name__的值为'main';当被其他程序导入时,则取该模块的文件名(不带.py)。通过这一机制,开发者可以灵活地控制模块的行为,使其既能独立运行也能被顺利导入。

被折叠的 条评论
为什么被折叠?



