问个问题,如果想在class类里设置一个初始变量,实例化类后,让他自动在一段时间后将那个初试变量改变,该怎么操作鸭

问个问题,如果想在class类里设置一个初始变量,实例化类后,让他自动在一段时间后将那个初试变量改变,该怎么操作鸭?

您可以在__init__方法中启动一个线程,在经过time.sleep(N)秒后修改它。例如:

import time
import threading
class TestClass
    def __init__(self):
        var = 0
        threading.Thread(target=self.change, daemon=True, args=[self]).start()
    @staticmethod
    def change(self):
        time.sleep(3)
        self.var = 1

if __name__ == '__main__':
    t = TestClass()
    print(t.var)
    time.sleep(3)  # 3秒之后
    print(t.var)

运行结果应该是依次显示0和1。

虽然说我不懂线程,但是我有另一个更简单的方法。

import time
class Test():
    ......
        self.a=1
t = Test()
startTime=time.time()
lastTime=input("time:")
while True:
    endTime =time.time()
    if startTime + lastTime == endTime:
        t.a = 0