以下示例在Python2中有效,但在Python3中无效。是否存在等效的方法来重载Python3中类的__name__
?参见related question。
>>> class Foo(object):
... pass
...
>>> Foo.__name__ = 'Bar'
>>> Foo
<class '__main__.Foo'>
答案 0 :(得分:2)
Python 3.3及更高版本使用__qualname__
attribute组成类表示字符串:
UUID
您可能想同时设置{em和{em}两者appId{Some-UUID}
和>>> class Foo: pass
...
>>> Foo.__name__ = '__name__ for Foo'
>>> Foo.__qualname__ = '__qualname__ for Foo'
>>> Foo
<class '__main__.__qualname__ for Foo'>
,但是只有后者对您要查找的字符串输出有影响。