我有这门课
from typing import Tuple, NamedTuple, cast, List, Dict
class PdfRequestDownloadData(NamedTuple):
workspace_id: int
since: str
until: str
project_ids: List[int]
date_format = "YYYY-MM-DD"
duration_format = "improved"
hide_amounts = True
hide_rates = True
order_by = "title"
order_dir = "asc"
sub_grouping = "time_entries"
请注意,底部部分是默认值,例如带有=
我叫:
x = PdfRequestDownloadData(project_ids=[projectid], workspace_id=workspaceid,since=fromdate, until=todate)
print(x._asdict())
输出:
OrderedDict([('workspace_id', 98333), ('since', '2019-08-01'), ('until', '2019-08-31'), ('project_ids', [123334])])
所有的默认值都到哪里去了?什么是好的解决方案
您缺少“默认值”的类型注释,因为它们是类属性。如果给它们一个类型,它们将是实例属性:
typing.NamedTuple
相关问题 更多 >
编程相关推荐