想要了解__name__
, 需要先要了解sys.modules
方法
sys.modules
由以下代码可以看出:
- 在sys.modules中,其中本文件在内存中的路径对应的key即为
'__main__'
(字符串格式) - 当直接执行本文件时,
__name__
内置变量的值即为'__main__'
(字符串格式),也就是说__name__
对应的即本文件的内存地址
import sys
#print(sys.modules) # '__main__': <module '__main__' from 'C:/SoftWare/Program Files/JetBrains/PycharmProjects/Py27/classes/day08/practice/反射.py'>
print(__name__) # __main__
print([__name__]) #['__main__']