我已经使用 mypy 对
rbast.py
进行了类型检查 这篇文章:
https://mypy-play.net/?mypy=latest&python=3.12&gist=19931c644949c29b715b797a90b59a01
它给出了三个错误。前两个是显而易见的,但第三个是:
main.py:38: error: Generator has incompatible item type "Sequence[str]"; expected "str" [misc]
我需要如何更改代码来修复此错误?
这是有问题的代码:
for arg_repr in product(*arg_reprs, *kw_reprs):
arg_list = ", ".join(
f"{arg[0]}: {arg[1]}" if isinstance(arg, tuple) else arg
for arg in arg_repr
)
product
产生元组,因此 arg
是一个元组。目前尚不清楚 if isinstance(arg, tuple) else arg
的用途,您应该能够完全删除整个片段。 mypy 的问题似乎是 else arg
可能会发生,在这种情况下你的生成器包含一些元组,而不仅仅是字符串。