问个问题,如果想在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