返回介绍

9.1 对象表示形式

发布于 2024-02-05 21:59:47 字数 715 浏览 0 评论 0 收藏 0

每门面向对象的语言至少都有一种获取对象的字符串表示形式的标准方式。Python 提供了两种方式。

repr()

以便于开发者理解的方式返回对象的字符串表示形式。

str()

以便于用户理解的方式返回对象的字符串表示形式。

正如你所知,我们要实现 __repr__ 和 __str__ 特殊方法,为 repr() 和 str() 提供支持。

为了给对象提供其他的表示形式,还会用到另外两个特殊方法:__bytes__ 和 __format__。__bytes__ 方法与 __str__ 方法类似:bytes() 函数调用它获取对象的字节序列表示形式。而 __format__ 方法会被内置的 format() 函数和 str.format() 方法调用,使用特殊的格式代码显示对象的字符串表示形式。我们将在下一个示例中讨论 __bytes__ 方法,随后再讨论 __format__ 方法。

 如果你是从 Python 2 转过来的,记住,在 Python 3 中,__repr__、__str__ 和 __format__ 都必须返回 Unicode 字符串(str 类型)。只有 __bytes__ 方法应该返回字节序列(bytes 类型)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文