Python 删除特定时间段后创建的类的实例
我试图实现一个函数,该函数将删除在一段时间后创建的类的实例,但是我似乎无法实现这样的方法Python 删除特定时间段后创建的类的实例,python,oop,pygame,Python,Oop,Pygame,我试图实现一个函数,该函数将删除在一段时间后创建的类的实例,但是我似乎无法实现这样的方法 我已经尝试过查找从创建类实例到当前时间所经过的时间,但这似乎不是很顺利,任何建议都将非常有用 我想这已经是两个问题了- 1) 如何“杀死”类实例/对象 这里已经很好地介绍了这一点: 2) 如何制作过期函数 您可以查看python模块“expiringdict”—— 但是,还有许多其他缓存实现的函数即将过期。 首先,您可以查看以下内容: 我没有设法在评论中提出你的第二个问题- 我不知道创建时间是与创
我已经尝试过查找从创建类实例到当前时间所经过的时间,但这似乎不是很顺利,任何建议都将非常有用 我想这已经是两个问题了- 1) 如何“杀死”类实例/对象
- 这里已经很好地介绍了这一点:
- 您可以查看python模块“expiringdict”—— 但是,还有许多其他缓存实现的函数即将过期。 首先,您可以查看以下内容:
# STDLIB Imports
import time
Class Circle(object):
def __init__(self, diameter, x_coordinate, y_coordinate):
self.creation_time = time.time()
...
my_circle = Circle(1,0,0)
time.sleep(1)
print('creation time: {}'.format(my_circle.creation_time))
age = time.time() - my_circle.creation_time
print('age: {}'.format(age))
确保已导入
时间
模块
\uuuu init\uuuu()
函数中,将time.time()
的值放入变量中,如self.sprowned\u time
can\u destroy()
的方法。函数的代码如下:return time.time()>=self.sprowned\u time+
import time
class MyClass:
def __init__(self):
self.spawned_time = time.time()
def can_destroy(self):
return time.time() > self.spawned_time + 6 # replace '6' with the seconds the class will exist for
my_instance = MyClass()
while True:
if my_instance.can_destroy():
# destroy your instance here
通过在特定时间删除实例,您希望实现的实际目标是什么?这是一个奇怪的要求,你不能保证一个实例会被删除。我正计划制作一个在任意位置生成圆圈的游戏,如果你点击它,你会因此得到分数,如果你不点击(好吧,你一定会输)单击该圆以获取点的机会消失了,您将在该过程中失去一条生命。不要试图将其取决于删除一个实例。我确信Pygame有某种计时器机制,以及在游戏上下文中“销毁”对象的方法。创建圆时,启动计时器,并让计时器在一段时间后对对象调用“销毁”方法。感谢您的建议!真的很感谢他们,只是几个问题,我如何实现方法1,即我如何找到从创建一个圆的新实例到当前时间之间经过的时间?我把它作为一个类方法,或者只是一个普通函数,我不知道你的代码。我不知道创建时间是和创建的对象一起存储的,所以你需要自己来做类圆(对象):`def_uuinit_uu(self,diameter,x_坐标,y_坐标,color):`self.creation\u time=time.time()`……`感谢您的深入了解!这真的很有帮助,谢谢你,伙计这真的很好谢谢你!!