Py学习  »  TkTech  »  全部回复
回复总数  2

除非将对象绑定到需要清理的外部状态(例如文件句柄/套接字),否则使用 __del__ 通常不是正确的选择。这表明你可能做错了什么。例如,如果您将 del 在一个 try...except ,然后假设手已经换过,再做其他事情,你就错了。对象可以(暂时)由 try..except 块。 del card 同一件事 card.__del__() ,它不能保证 埃尔德勒斯 将被调用。

同样,通常你希望你的父母管理孩子,而不是相反。玩家控制他们的牌,牌不能控制玩家。

只需明确你的行为:

class Player:
    def __init__(self):
        self.hand = []

    def add_card(self, card):
        self.hand.append(card)

    def remove_card(self, card):
        self.hand.remove(card)
        if not self.hand:
            print('--- GAME OVER ---')
6 年前
回复了 TkTech 创建的主题 » 这在python'\x1b[2k'中意味着什么?

\x1b[2K 被称为 ANSI terminal control sequence . 它们是20世纪70年代的遗留物,现在仍在使用(但已广泛扩展)来控制终端仿真器。

\x1b 是用于转义的ASCII(字面上是键盘上的Esc键)。 [2K 是命令“删除当前行”。

在python中有许多库用于处理终端,例如 Urwid . 这些库将隐藏终端的内部工作,并为您提供更高级别的构造来创建TUIS。