Python 函数,该函数执行某些操作并调用删除该操作的内置函数
我正在构建一个任务管理器,我想使用一个完整的func来处理实例化的类对象,然后调用Python 函数,该函数执行某些操作并调用删除该操作的内置函数,python,class,oop,del,Python,Class,Oop,Del,我正在构建一个任务管理器,我想使用一个完整的func来处理实例化的类对象,然后调用del并删除实例化的类对象。可能吗?我正在努力寻找解决办法 尝试使用类中的函数,并尝试查找有关此主题的文章,但没有成功 from datetime import date class reg_task: def __init__(self, what_to_do, date=date.today(), hour=None, tag=None, project="day to day task", prio
del
并删除实例化的类对象。可能吗?我正在努力寻找解决办法
尝试使用类中的函数,并尝试查找有关此主题的文章,但没有成功
from datetime import date
class reg_task:
def __init__(self, what_to_do, date=date.today(), hour=None, tag=None, project="day to day task", priority=None, remind_time=None):
self.what_to_do = what_to_do
self.date = date
self.hour = hour
self.tag = tag
self.project = project
self.priority = priority
self.remind_time = remind_time
def __str__(self):
return f'task {self.what_to_do}, to-do-date - {self.date}'
def tasks_complete(self):
with open(r"C:\Users\Avi Fenesh\Desktop\python\tasks_project\archive\archive", "a") as archive:
archive.write(f"{str(self)} \n")
del self
问题在于
任务\u complete()
。当我调用函数时,它不会删除实例化的类对象。这是因为只要有人持有对对象的引用,对象就不能被垃圾收集。仅仅做del self
是不够的
请参阅:是否有其他容器存放任务实例?您试图从何处删除实例?不,我尝试了一个简单的示例。已保存一个实例,然后尝试立即删除该实例。您如何判断该对象未被删除?我将尝试在Interpeters中再次呼叫他,以便有其他方法执行此操作并确保该实例不再存在?一旦没有对该实例的引用,该实例将自动删除。一般来说,除非您有非常具体的原因,否则您应该让垃圾收集为您处理这些事情。但我的想法是立即删除该实例。我将使用一个func来显示连接到当前日期的所有任务,我希望我标记为完成的实例不会出现在这种情况下,从存储任务的任何数据结构中删除任务,或者将其标记为完成或其他更简单,因此,当您显示任务时,您不会显示它。如果您执行了
a=reg_task()
,然后实例本身被删除,那么尝试使用a
的以下代码会发生什么情况?