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
对象,因此它将被安排进行垃圾收集。
我有一个创建游戏对象的游戏 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
对象,因此它将被安排进行垃圾收集。