1

我有一个类,矩阵,我想在这个类上调用 print 时,而不是打印

< 0x7f41fb17de18 处的.Matrix 实例>

我希望能够控制类似的输出

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

在 C++ 中,我只会重载 << 运算符。我如何在 python 3 中做到这一点?

4

1 回答 1

2

如果要生成可打印的输出,请实现__str__. 您也可以实现__repr__,但通常用于创建更具技术性的表示,而不仅仅是人类可读的输出。

>>> class MyType:
        def __str__ (self):
            return 'foo'
>>> print(MyType())
foo
于 2012-10-09T16:55:31.307 回答