为了账号安全,请及时绑定邮箱和手机立即绑定

删除一段时间后创建的类的实例

删除一段时间后创建的类的实例

郎朗坤 2022-12-27 16:29:12
我正在尝试实现一个函数,该函数将删除在一段时间后创建的类的实例,但是我似乎无法实现这样的方法已尝试查找从创建类实例到目前的时间,但这似乎不太顺利,任何建议都会很有帮助!
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

确保您已导入该time模块。

  1. __init__()类的函数中,将 的值time.time()放入变量中,例如self.spawned_time.

  2. 在你的类中创建一个名为can_destroy(). 该函数的代码如下:return time.time() >= self.spawned_time + <INSERT TIME THE CLASS WILL BE ALIVE>

完整代码:

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


查看完整回答
反对 回复 2022-12-27
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

我想这已经是两个问题了——

1)如何“杀死”一个类实例/对象?

2)如何制作过期功能。

我没有设法在评论中格式化你的第二个问题 -

我不知道创建时间与创建的实例一起存储,所以你需要自己做:

# 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))


查看完整回答
反对 回复 2022-12-27
  • 2 回答
  • 0 关注
  • 404 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号