首先我们定义一个脚本文件hello.py:
#hello.py
#程序的意思是:如果当前的name是main,就执行:打印'main',并运行foo()
def foo():
str="function"
print(str)
print(__name__) #输出:__main__
if __name__=="__main__":
print("main")
foo()
接着我们再定义一个脚本world.py,并调用之前定义的hello.py脚本:
import hello
打印hello的name,打印world脚本的名字
print(hello.__name__) #输出:hello
print(__name__) #输出:__main__
可以看出,hello.py调用前后的name发生了变化,在定义的hello.py里,name是main,而在被调用之后,name变为hello。
同时我们可以分析得出,main的名称只会对于当前的脚本文件的name,被调用的脚本的name就是被调用脚本的名称。
那么,通过:if __name__ == '__main__': 这个语句,我们可以实现以下几个方便的功能:
1、只执行本次脚本的函数或者类,进行测试;
2、防止被导入的模块的函数或者类被二次执行。
函数的原理&spm=1001.2101.3001.5002&articleId=78824435&d=1&t=3&u=df53281c95034a7d84c3c61f5ff24780)
2596

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



