当前位置: 首页 > 面试题库 >

如何更改Python类的字符串表示形式?

胡鸿远
2023-03-14
问题内容

在Java中,我可以覆盖toString()类的方法。然后,Java的print函数将打印由其定义的对象的字符串表示形式toString()。是否有与Java等效的Python
toString()

例如,我有一个PlayCard类。我有一个PlayCard实例c。现在:

>>> print(c)
<__main__.Card object at 0x01FD5D30>

但是我想要的是这样的:

>>> print(c)
A♣

如何自定义类实例的字符串表示形式?

我正在使用Python 3.x


问题答案:

与Java最接近的等效项toString__str__为您的类实现。将其放在您的类定义中:

def __str__(self):
     return "foo"

您可能还希望实现__repr__以帮助调试。

浏览此处获取更多信息:

  • 特殊方法名称-基本定制


 类似资料:
  • 问题内容: 假设我定义了以下类型: 我将如何以编程方式将类型作为字符串获取,因此以后可能很容易重构,而不是: 我不太喜欢,因为它实例化了它,也可以从Interface实例化。 问题答案: 您可以使用包装(包装也可以在内部使用)。您可以从 指向 该类型的 指针 开始,并使用没有分配的 类型化_指针值,并且可以使用来从其描述符导航到指针的 _基本 类型(或 元素 类型)的描述符。 例: 输出(在Go

  • 问题内容: 我有一个C python扩展名,我想打印一些诊断信息。 我收到一个字符串作为PyObject *。 获取此对象的字符串表示形式(使其可用作const char *)的规范方法是什么? 更新: 澄清以强调访问为const char *。 问题答案: 使用(模仿Python的函数)或(模仿),然后调用get (您可以并且通常应该将其用作,例如: 任何人都可以使用此方法。如果您完全确定是Py

  • 本文向大家介绍JavaScript 数字的字符串表示形式,包括了JavaScript 数字的字符串表示形式的使用技巧和注意事项,需要的朋友参考一下 示例 JavaScript具有从Number到String表示形式的本地转换,从2到36的任何基数。 十进制(以10为底)之后最常见的表示形式是十六进制(以16为底),但本节的内容适用于范围内的所有底。 为了将数字从十进制(以10为底)转换为十六进制(

  • 我无法找到以下问题的答案:从字符串开始,将其转换为二进制表示形式。如何在Python中恢复原始字符串? 例子: 然后 现在我想回到Python 2中的“hi us”。x、 例如,此网站完成以下任务:http://string-functions.com/binary-string.aspx 我已经看到了Java的几个答案,但是还没有幸运地实现到Python。我也尝试了,但是不知道在这种情况下我应该

  • 问题内容: 最简单的方法是将类似以下的列表转换为: 即使用户在逗号之间加空格,也要在引号内加空格。我还需要处理以下内容: 在Python中。 我可以使用并使用split运算符删除空格,并检查非字母。但是代码变得非常混乱。有快点 方法吗? 问题答案: 使用,你可以安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典

  • 问题内容: 如何将的表示形式(例如以下字符串)转换为? 我宁愿不使用。我还能使用什么? 造成这种情况的主要原因是他写的我的同事课程之一,将所有输入都转换为字符串。我不打算去修改他的课程,以解决这个问题。 问题答案: 从Python 2.6开始,你可以使用内置的: 这比使用更为安全eval。正如其自己的文档所说: 例如: