Python 在函数中使用 del 关键字

Python using a del keyword inside a function

我有一个创建游戏对象的游戏 class。我想创建一个函数,当用户输入游戏名称时删除一个对象。我创建了一个函数,我认为它会做我想做的事,但事实并非如此。请告诉我哪里出了问题。

    class Game:
    def __init__(self, game_title, publisher, num_of_sales):
        self._chart_position = 4
        self._game_title = game_title
        self._publisher = publisher
        self._num_of_sales = num_of_sales

    def set_game_title(self, game_title):
        self._game_title = game_title

    def set_chart_position(self, chart_position):
        self._chart_position = chart_position

    def set_num_of_sales(self, num_of_sales):
        self._num_of_sales = num_of_sales

    def get_game_details(self):
        if self._chart_position <= 5:
            return self._chart_position, self._game_title, self._publisher, self._num_of_sales

def game_del(game):
    del game

cup = Game("cupfight", "A", 13)
game_del(cup)

Python 是一种 垃圾收集 语言,所以你不需要删除任何东西(除了非常极少数情况);如果你在内存中有一个对象,例如Game 在这种情况下,并将对它的引用分配给一个变量,在这种情况下 cup 只要 cup 在范围内,它就会驻留在内存中(在这个例子中,整个程序生命周期).但是,如果您将其他内容分配给 cup 变量(任何内容,例如 cup = None),则没有任何内容引用 Game 对象,因此它将被安排进行垃圾收集。