簡體   English   中英

如何在python中發展數據類?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM