首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Python中“`Dict[str,Any]”是什么意思?

在Python中“`Dict[str,Any]”是什么意思?
EN

Stack Overflow用户
提问于 2020-05-06 04:58:34
回答 1查看 12.4K关注 0票数 6

我参考了可用的这里文档,以了解如何在使用函数注释时定义返回类型。

我不明白Dict[str, Any]中的str指的是什么。str引用字典的键,Any (意思是,它可以是字符串或int)引用字典值的类型吗?编辑:在上面提到的链接中,提到了

PEP 484类型Dictstr,任何类型都是合适的,但是它太宽松了,因为可以使用任意字符串键,任意值都是有效的。

有人能解释一下arbitrary string keys指的是什么吗?我知道键是字符串,但是当我们说arbitrary string keys时,我们的意思是字典可以接受任何字符串吗?或者arbitrary这个词在这里还有其他意义吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-06 05:13:04

是啊!通常python变量是可变的(类型可以更改),但是像这样指定它是很好的文档,并且非常清楚地说明了它的位置。

更多的使用文档可以在这里找到!https://docs.python.org/3/library/typing.html

编辑:详细说明最新问题的答案

您所引用的佩普文档标识了类型提示(尽管很有用)如何仍然容易出错。

通过指定Dict[str, Any]str可以是"arbitrary",这意味着它可以是任何东西的字符串键(即。nameageheighthumidity)。在这些键中,人们可能会认为"humidity“不应该是这个dict的字符串键之一,但是没有一种方法来检查或强制执行,直到在路上发生了一些错误(因此,它是”任意的“;没有规则来控制什么是”允许的“字符串-键这个dict)。

因此,根据文档,指定这个类(从TypedDict派生):

类电影(TypedDict):名称: str年份: int

将特别限制用户创建一种新类型的dict ( TypedDict),其中包含字符串-键nameyear (分别输入了strint)。用户将无法“任意”添加新密钥(即。( humidity)到这个"MovieTypedDict,或者以其他方式将一个非int值分配给Movie["year"]

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61627708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档