我正在寻找一些关于在 Python 中实现一组仅数据值的“接口”的最佳方法的建议,这些接口相当于它们的打字稿对应物(我们有一个项目,我们同时使用两者,并希望强制执行一致他们的通信接口,这将通过将 python 序列化为 json 以拉入 TS 组件)
接口将是组合,以保持模块化和简单。
给定一组 TS 接口定义为:
interface TestOutput {
phantom: string
testDateTime: datetime
author: string
result: boolean
report_summaryFile?: string // the '?' means this field is optional
// ... more values
series: Array<Series>
soloImages: Array<Images>
}
interface Series {
number: number
filter: string
kernel: string
// ... more values
images: Array<TestImage>
}
我正在考虑使用数据类并执行以下操作:
from dataclasses import dataclass
from typing import List
import datetime
@dataclass
class TestSeries:
seriesNum: int
modality: str
description: str = ''
@dataclass
class TestOutput:
phantom: str
testDateTime: datetime.datetime
author: str
result: bool
series: List[TestSeries]
soloImages: List[Images]
report_summaryFile: str = ''
数据类是最好的方法吗?