美文网首页
if __name__ == '__main__'

if __name__ == '__main__'

作者: Breezes | 来源:发表于2021-04-12 14:44 被阅读0次

刚学习Python时经常看到一段代码⬇️

if __name__ == '__main__'

通过知乎大佬的科普才明白

java、c、c++等编译性语言执行时会先将执行代码编译成中间代码,因此他们需要一个main函数入口;
而Python是一种解释性脚本语言,从顶部逐行进行翻译运行,所以最顶层的代码都会被执行,所以Python中并不需要main函数。从某种意义上讲if __name__ == '__main__'是一个标志,用来告诉其他程序员这是代码的入口,这是if __name__ == '__main__'的意义之一

__name__是什么

__name__是Python内置的属性,记录了一个字符串,
1.如果在当前文件中打印的是__main__
2.如果是引入的文件打印是文件的名字
分别在hello.pytest.py中打印__name__,并在hello.py引入test.py

__name__.png
因此可以通过 if __name__ == '__main__'判断是否是在当前文件中

如何使用呢

接下来在test.py中添加一些代码⬇️:

a = 10
print('我是test模块')
print(a)

hello.py添加代码print('我是hello模块')
接着在hello.py引入test.py后运行⬇️

我是test模块
10
我是hello模块

如果此时我不想在别人引入的时候打印a怎么办
可以修改test.py的代码:

a = 10
print('我是test模块')
if __name__ == '__main':
    print(a)

再运行:

我是test模块
我是hello模块

用一句话概括:import文件内的if name = main不会执行,主程序内的代码if name = main会执行

相关文章

网友评论

      本文标题:if __name__ == '__main__'

      本文链接:https://www.haomeiwen.com/subject/ccfxlltx.html