考虑这个类:
class foo(object):
pass
默认的字符串表示形式如下所示:
>>> str(foo)
"<class '__main__.foo'>"
我怎样才能使这个显示自定义字符串?
原文由 Björn Pollex 发布,翻译遵循 CC BY-SA 4.0 许可协议
考虑这个类:
class foo(object):
pass
默认的字符串表示形式如下所示:
>>> str(foo)
"<class '__main__.foo'>"
我怎样才能使这个显示自定义字符串?
原文由 Björn Pollex 发布,翻译遵循 CC BY-SA 4.0 许可协议
class foo(object):
def __str__(self):
return "representation"
def __unicode__(self):
return u"representation"
原文由 Andrey Gubarev 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答860 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
在类的元类中实现
__str__()
或__repr__()
。使用
__str__
如果你的意思是可读的字符串化,使用__repr__
用于明确的表示。编辑:Python 3 版本