mypy可以推断集合计数器等容器的类型吗

问题描述 投票: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 有什么方法可以推断出这种类型吗?

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

Counter

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

请参阅 mypy 文档中的此部分:

空集合的类型

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