做某事并调用删除它的内置函数的函数
Function that does something and calls a built-in function that deletes it
我正在构建一个任务管理器,我想使用一个 complete-func 来对实例化的对象执行某些操作,然后调用 del
并删除实例化的 class 对象。可能吗?我正在努力寻找解决方案。
尝试使用 class 中的函数,并尝试查找有关此主题的文章,但没有成功。
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
问题出在 tasks_complete()
。当我调用该函数时,它不会删除实例化的 class 对象。
这是因为只要有人持有对对象的引用,对象就不能被垃圾回收。仅仅做 del self
是不够的。
参见:
我正在构建一个任务管理器,我想使用一个 complete-func 来对实例化的对象执行某些操作,然后调用 del
并删除实例化的 class 对象。可能吗?我正在努力寻找解决方案。
尝试使用 class 中的函数,并尝试查找有关此主题的文章,但没有成功。
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
问题出在 tasks_complete()
。当我调用该函数时,它不会删除实例化的 class 对象。
这是因为只要有人持有对对象的引用,对象就不能被垃圾回收。仅仅做 del self
是不够的。
参见: