Подскажите, какой метод вызывается при строковом отображении/печати класса (не обьекта)?
>>> class A():
pass
>>> print A
__main__.A
>>> class A():
pass
>>> print A
__main__.A
class TypeFoo(type):
def __str__(cls):
return '--%s--'%cls.__name__
class Foo(object):
__metaclass__ = TypeFoo
class Bar(Foo):
pass
>>> assert str(Foo) == '--Foo--'
>>> assert str(Bar) == '--Bar--'
>>>
>>> class A():
@classmethod
def __str__(cls):
return "class A"
>>> A.__str__()
'class A'
>>> print A
__main__.A