gpt4 book ai didi

python - 不需要输入的字典中的所有键

转载 作者:行者123 更新时间:2023-12-05 01:52:23 25 4
gpt4 key购买 nike

我有一个包含多个条目的现有 TypedDict:

from typing import TypedDict
class Params(TypedDict):
param1:str
param2:str
param3:str

我想创建完全相同的 TypedDict,但所有键都是可选的,以便用户只能指定某些参数。我知道我可以做类似的事情:

class OptionalParams(TypedDict, total=False):
param1:str
param2:str
param3:str

但是这种方法的问题是我必须复制代码。有没有办法通过将键设为可选来从 Params 继承?我试着做

class OptionalParams(Params, total=False):
pass

但是 linter 不理解参数是可选的

最佳答案

您所要求的是不可能的 - 至少如果您使用 mypy - 正如您可以在 Why can a Final dictionary not be used as a literal in TypedDict? 的评论中看到的那样在 mypy 的 github 上:TypedDict keys reuse? . Pycharm 似乎具有相同的限制,正如在您问题的其他两个“失败尝试”答案中所测试的那样。

尝试运行这段代码时:

from typing import TypeDict

params = {"a": str, "b": str}
Params = TypedDict("Params", params)

mypy 将给出 error: TypedDict() expects a dictionary literal as the second argument,抛出 here在源代码中。

关于python - 不需要输入的字典中的所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71600077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com