打印数据结构

1 投票
2 回答
1040 浏览
提问于 2025-04-17 08:27

我正在编写一个数独解题器,作为其中的一部分,我创建了一个类来表示数独棋盘。这个类的一项功能就是能够打印出棋盘的样子。目前,我在我的类里有一个叫做PrintBoard的方法。所以我会这样使用它:

myBoard.PrintBoard()

但是我在想,有没有办法重写Python的打印功能,这样:

print(myBoard)

就能直接运行PrintBoard这个方法呢?

2 个回答

2

你可以为你的类实现 __repr____str__ 这两个功能。

8

当然可以。你可以看看 __str__ 这个方法。

你也可以使用 __repr__ 这个方法,不过文档里提到:

如果可能的话,这个方法的输出应该像一个有效的 Python 表达式,这样可以用来重新创建一个值相同的对象(前提是环境合适)。

根据你的描述,听起来你并不是想要这样的打印效果。

撰写回答