__name__ 和 __module__
- 类或对象(类实例)中的__module__获取当前类所在的模块
- 类的__name__获取当前类名
创建包pac, 并在包下创建模块abc:
class A(object): @classmethod def ff(cls): print("类中的__module__:", cls.__module__) print("类中的__name__:", cls.__name__) def obf(self): print("对象中的__module__:", self.__module__) # print("对象中的__name__:", self.__name__) # 没有__name__,这里会报错 print("模块中的__name__:", __name__) # print("模块中的__name__:", __module__) # 没有__module__,这里会报错
demo.py中引入模块,测试:
from pac.abc import A if __name__ == '__main__': A.ff() A().obf()
执行结果:
模块中的__name__: pac.abc
类中的__module__: pac.abc
类中的__name__: A
对象中的__module__: pac.abc