__name__ 和 "__main__"

Posted 594504110python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__name__ 和 "__main__"相关的知识,希望对你有一定的参考价值。

2018-08-04

本模块名: person
调用者模块名: start

import sys
def funcperson():
	print(‘我是人‘)
	print(sys.modules[__name__])        # <module ‘__main__‘ from ‘C:/Users/SATH/Desktop/testtest/aaa/core/person.py‘>
	print(__name__)                              # __main__
	print(sys.modules[‘__main__‘])      # <module ‘__main__‘ from ‘C:/Users/SATH/Desktop/testtest/aaa/core/person.py‘>

funcperson()

# 当被其他模块调用时:
# <module ‘aaa.core.person‘ from ‘C:\Users\SATH\Desktop\testtest\aaa\core\person.py‘>
# aaa.core.person
# <module ‘__main__‘ from ‘C:/Users/SATH/Desktop/testtest/aaa/bin/start.py‘>

___name__ 永远都自己的模块名或"__mian__"
"__main__"
		# 1. 自己调用: print(sys.modules[__name__])          输出自己的模块名
		#                    print(__name__)                                输出"__main__"
		# 					  print(sys.modules[‘__main__‘])          输出自己的模块名

		# 2. 被人调用: print(sys.modules[__name__])         输出自己的模块名
		#                    print(__name__)                              aaa.core.person
		#                    print(sys.modules[‘__main__‘])        调用者的模块名

  

以上是关于__name__ 和 "__main__"的主要内容,如果未能解决你的问题,请参考以下文章

__name__ 和 "__main__"

PHP 相当于 Python 的 __name__ == "__main__"?

if __name__ == "__main__": 做啥?

if __name__ == "__main__": 做啥?

if __name__ == "__main__": 做啥?

Pythonif __name__ == "__main__"做了什么?