【发布时间】:2021-02-19 14:57:30
【问题描述】:
我正在定义一个具有时间属性的类,但默认设置为当前 UTC 时间。
import datetime
class Timer:
def __init__(self, time = datetime.datetime.utcnow()):
self.time = time
print('Instance created at', self.time)
a = Timer()
问题是一旦定义(或者当它被导入时,如果它在模块中),这个属性就会被永久设置!类的所有新实例“继承”类的时间,在定义时进行评估,而不是在调用__init__ 时生成自己的“当前时间”。为什么每次创建新实例时都不评估获取当前 UTC 时间的函数?
【问题讨论】:
标签: python class datetime initialization