我阅读了__str__()
vs__repr__()
线程,并且,在这里的某个地方(我不记得现在在哪里)我看到了以下代码:
def __repr__(self):
return "<%s>" % (self.__class__.__name__)
这显然会打印类名,所以如果我有这样的类:
Class A:
def __repr__(self):
return "<%s>" % (self.__class__.__name__)
它打印 A (我不能让尖括号出现?)。如果我取出该.__name__
位,它会打印<__main__.A>
所以现在我有点困惑,因为肯定 A 是 A 类的类型,而不仅仅是它的名称,而且我不确定该__main__
位是从哪里来的,因为我__main__
在程序中没有(但是!-我确实知道if __name__ == "__main__"
并使用它。)
那么 Class name 和 Class 类型之间有什么区别,是否存在它们不同的情况?
另外,只是想补充一下,到目前为止我从 SA 学到的关于 Python 的几乎所有知识,即使是棘手的问题也可以在这里找到答案(从子类访问超类类变量是我最近的谷歌,SA 就在那里再来一张!!谢谢大家!)