如何为类对象创建自定义字符串表示?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

考虑一下这门课:

class foo(object):
    pass

默认的字符串表示形式如下所示:

>>> str(foo)
"<class '__main__.foo'>"

如何使此显示成为自定义字符串?

提问于
用户回答回答于

在类的元类中实现__str __()或__repr __()。

class MC(type):
  def __repr__(self):
    return 'Wahaha!'

class C(object):
  __metaclass__ = MC

print C

使用__str__如果意思是可读的字符串化,请使用__repr__为了明确的表示。

用户回答回答于
class foo(object):
    def __str__(self):
        return "representation"
    def __unicode__(self):
        return u"representation"

扫码关注云+社区