本模块名: 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__']) 调用者的模块名