如何理解__name__

我们可以把他简单地理解为C中的main,但是其又不完全和main一致,首先呢,一般python项目中我们会约定俗成是把包含__name__=='main’部分当作项目的入口。

先看如下程序:test.py

print('恋习python')
def main():
	print('恋习python')
print(__name__)
if __name__ == '__main__'
	main()
print('跟我分析,恋习练习')

输出结果:
恋习python
main
恋习python
跟我分析,恋习练习

根据程序我们得知:如果python中没有import其他程序模块,那么__name__都会等于__main,我们一般默认这里是程序入口。

然后那么如果我们在某个py文件里import了其他模块又会出现什么情况下呢?
我们继续看如下程序:import.py

import test
print(__name__)

输出结果:
恋习python
test
跟我分析,恋习练习
main
由此我们可以看出,import其他模块的__name__,输出的话结果是当前文件名,也就是test。而自己的__name__,其输出结果依然是__main__。我们如何看__name__是否会等于__main__,就要看这个__name__是在哪个文件中的

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐