Python3中多返回值赋值给不同变量时如何进行类型提示?
解构赋值时的变量类型标注正确写法
你原来的写法a: int, b: int = foo(5, 10)不符合Python语法,所以会报错。下面是两种可行的正确方式:
方式一:先声明变量类型,再解构赋值
先单独声明每个变量的类型,再执行解构赋值操作,这是最直观且兼容所有Python版本的写法:
a: int b: int a, b = foo(5, 10)
方式二:给整个解构结果标注类型
把变量用括号包裹,直接给整个解构后的元组标注类型,Python 3.9+可以直接使用内置的tuple类型,旧版本需要从typing模块导入Tuple:
# Python 3.9+ 写法 (a, b): tuple[int, int] = foo(5, 10) # Python 3.8及以下写法(需先导入) from typing import Tuple (a, b): Tuple[int, int] = foo(5, 10)
两种方式都能让类型检查工具(比如mypy)正确识别变量的类型,同时避免语法错误。
内容的提问来源于stack exchange,提问作者DEEP DEY
相关产品推荐
相关产品推荐

