![](/img/trans.png)
[英]How to declare python dataclass member field same as the dataclass type
[英]How to evolve a dataclass in python?
我有興趣使用dataclass,因為語法比attr短。 但是,我找不到使用以下代碼提供用於對其進行開發的API的快捷方式:
@dataclass
class AB(object):
a: int = 1
b: int = 2
AB().evolve(b=3)
result = AB(a=1, b=3)
找到現成的替代品容易嗎? 還是自己實施?
所述dataclasses.replace()
函數是大致相當於attr.evolve()
函數。
根據您的代碼使用示例:
import dataclasses
from dataclasses import dataclass
@dataclass
class AB(object):
a: int = 1
b: int = 2
ab_object = AB()
another_ab_object = dataclasses.replace(ab_object, b=3)
print(ab_object)
# Output: AB(a=1, b=2)
print(another_ab_object)
# Output: AB(a=1, b=3)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.