Ale*_*ood 2 python type-hinting pycharm python-3.x python-typing
假设我有一个函数do_something:
from typing import Sequence, Tuple, Dict
def do_something(argument: Sequence[Tuple[int, str]]):
pass
Run Code Online (Sandbox Code Playgroud)
假设我还有一个字典 ,D其键仅是ints,其值仅是strs:
D: Dict[int, str] = {1: 'a', 2: 'b', 3: 'c'}
Run Code Online (Sandbox Code Playgroud)
在 PyCharm 中,这将出色地通过类型检查器:
do_something(
((1, 'a'), (2, 'b'), (3, 'c'))
)
Run Code Online (Sandbox Code Playgroud)
但是,根据 PyCharm 的说法,尽管它产生的结果是相同的,但类型检查器却失败了:
do_something(tuple(D.items()))
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗——我在这里遗漏了什么吗?-- 或者这是 PyCharm 类型检查器的错误?