如何解决为什么最终字典不能用作 TypedDict 中的文字?
我正在努力完成以下任务(请参阅 mypy playground):
from typing import TypedDict,Final
account_schema: Final = {"name": str,"email": str}
Account = TypedDict("Account",account_schema)
AccountPatch = TypedDict("AccountPatch",account_schema,total=False)
想法是我可以在一个地方指定我的架构,一个版本需要所有字段(Account
,当插入数据库时)和一个版本使所有字段可选(AccountPatch
,更新时一个数据库)。
来自PEP 586:
Final
限定符用作声明一个
变量实际上是 Literal
。
但是 mypy
错误:
error: TypedDict() expects a dictionary literal as the second argument
为什么 TypedDict
不允许 Final
字典作为其第二个参数?
对于我的核心问题,我是否可以对两个 TypedDict
使用相同的架构(一个具有整体性,一个没有整体性)而不必复制架构?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。