mypy什么时候可以推断collections.Counter等容器的类型?

问题描述 投票:0回答:1

运行这个mypy要点(https://mypy-play.net/?mypy=latest&python=3.12&gist=58a8148f2c95c7a282a6f8a11ccd689a

from collections import Counter

C = Counter()

给出了这个 mypy 错误:

main.py:3: error: Need type annotation for "C"  [var-annotated]
Found 1 error in 1 file (checked 1 source file)

mypy 有什么方法可以推断出这种类型吗?

python mypy python-typing
1个回答
0
投票
如果您使用一些数据初始化

Counter

Mypy 会推断出它。但是,如果您不想在初始化程序中传递任何内容,则必须向
C
提供类型注释,在其中指定泛型类型,例如
C: Counter[str]
C = Counter[str]()

请参阅 mypy 文档中的此部分:空集合的类型

© www.soinside.com 2019 - 2024. All rights reserved.