Nat*_*sha 11 annotations function python-3.x
我指的是此处提供的文档,以了解如何在使用函数注释时定义返回类型。
我无法理解 strDict[str, Any]
指的是什么。是否str
引用字典的键并且Any
(意味着它可以是字符串或整数)引用字典值的类型?编辑:在上述链接中,提到
PEP 484 类型 Dict[str, Any] 是合适的,但它太宽松了,因为可以使用任意字符串键,并且任意值都是有效的。
有人能解释一下它arbitrary string keys
指的是什么吗?我知道键是字符串,但是当我们说arbitrary string keys
我们只是意味着字典可以采用任何字符串键吗?或者这个词arbitrary
在这里还有其他意义吗?
是的!通常Python变量是可变的(类型可以改变),但是像这样指定它是很好的文档,并且非常清楚什么在哪里。
更多使用文档可以在这里找到!https://docs.python.org/3/library/typing.html
您参考的PEP文档指出了类型提示虽然有用,但仍然容易出错。
通过指定Dict[str, Any]
,str
可以是“ arbitrary
”,这意味着它可以是任何内容的字符串键(即name
, age
, height
, humidity
)。在这些键中,人们可能会认为“ humidity
”不应该是 this 的字符串键之一dict
,但是没有一种方法可以检查或强制执行,直到将来发生一些错误(因此,它是“任意的”) ";没有规则来管理 this 的“允许”字符串键dict
。
因此,根据文档,指定此类(派生自TypedDict
):
Run Code Online (Sandbox Code Playgroud)class Movie(TypedDict): name: str year: int
将特别限制用户使用字符串键和(分别输入值和)创建一种新类型dict
(a ) 。用户将无法“任意”向此“ ”添加新键(即 ) ,或以其他方式为 分配非值。TypedDict
name
year
str
int
humidity
Movie
TypedDict
int
Movie["year"]
归档时间: |
|
查看次数: |
28686 次 |
最近记录: |