如何在python中删除对象?

时间:2019-03-04 17:51:31

标签: python python-3.x oop python-3.7

我正在尝试创建一个国际象棋模拟器。

请考虑以下情况: 在正方形2B中有一个名为Rook的黑鸦(rook1类的实例对象)。 在正方形2C中有一个白色的白鸦叫rook2

当玩家将rook1移动到正方形2C时,i应该将rook2对象从内存中完全删除。

我该怎么做?

P.S。我已经尝试过del rook2,但是我不知道为什么它不起作用。

1 个答案:

答案 0 :(得分:4)

尝试从内存中删除对象是错误的方法。 Python没有提供手动执行此操作的选项,无论如何执行都是错误的操作。

您需要更改表示国际象棋棋盘的任何数据结构,以使其代表游戏状态,其中c2处有一个黑鸦,b2处没有棋子,而不是一个游戏状态,其中b2处有一个黑鸦而a处C2的白鸦。在国际象棋棋盘的合理Python初学者项目实现中,这可能意味着要分配给列表列表中的单元格。不需要手动从内存中删除任何对象。

具有rook1rook2变量来引用您的新手是不必要的,并且可能适得其反。