1

当使用repr来测试我创建的类时,我总是在我的打印值周围加上括号。

前任)

def __repr__(self):
    return ("H")

在 shell 中作为 [H, H, H, H] 运行 4 行。我想删除括号和逗号,但不确定如何使用repr执行此操作。我是否需要创建另一个repr返回的方法?

谢谢你的帮助。

4

2 回答 2

2

您的示例不是很清楚,但我认为以下代码可能会演示您想要的内容:

>>> class Example:

    def __repr__(self):
        return 'H'


>>> array = [Example() for _ in range(4)]
>>> array
[H, H, H, H]
>>> class ArrayWithoutBrackets(list):

    def __repr__(self):
        return super().__repr__()[1:-1]


>>> array = ArrayWithoutBrackets()
>>> for _ in range(4):
    array.append(Example())


>>> array
H, H, H, H
于 2014-11-25T18:24:15.580 回答
0

你必须隐藏一些东西。我认为您有一个包含所有实例的列表,这就是为什么您会看到一对[, ]

我没有任何这样的问题。

>>> class A:
    def __repr__(self):
        return "a"


>>> 
>>> A()
a

我认为这似乎是你的情况:

>>> [A(),A()]
[a, a]
于 2014-11-25T18:21:46.050 回答