【发布时间】:2021-08-18 02:31:53
【问题描述】:
我正在使用数据类,我想在每次创建类的实例时创建一个时间戳,如下所示:
@dataclass
class test:
timestamp: datetime = datetime.utcnow()
test1 = test()
但是,这样做会在我运行原始类对象的代码时产生一个时间戳。也就是说,新实例都具有相同的时间戳。
下面的方法可以满足我的要求,但我不明白为什么。我认为上述方法也应该有效,因为没有创建该类的实例。为什么我必须用那种字段方法来编写它?
@dataclass
class test:
timestamp: datetime = field(default_factory=datetime.utcnow)
test1 = test()
test1.timestamp
【问题讨论】:
标签: python class datetime python-dataclasses