Python3.11中list[str,...]类型提示触发Pyright错误求助
问题解答
你写错了类型提示的语法:
list[str, ...]是错误写法,[...]里加...是元组类型用来表示“任意长度、元素均为同一类型”的语法,比如tuple[str, ...]才是正确的任意长度字符串元组写法。- 列表类型本身就默认支持任意长度,直接写
list[str]就可以准确表示“任意长度、元素全为str类型的列表”。
修正后的代码:
def create_input(columns: list[str]): ...
Pyright报错是因为它严格遵循PEP类型提示规范,list[str, ...]不符合列表类型的标注规则。你看到的官方文档内容大概率是混淆了列表和元组的语法,官方规范里列表的类型标注只需指定元素类型即可。
内容的提问来源于stack exchange,提问作者monte
相关产品推荐
相关产品推荐

