You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中能否直接引用函数返回类型用于类型注解?

Python中引用函数返回类型的方法

当然有!Python 3.10及以上版本提供了typing.ReturnType,可以直接获取函数的返回类型,完全替代你现在用类型别名的方式,实现你想要的“直接引用”效果。

3.10+版本实现代码

from typing import Tuple, ReturnType

def func() -> Tuple[int, int]:
    return 1, 1

def call_back(arg: ReturnType[func]) -> int:
    a, b = arg
    return a + b

旧版本兼容方案(3.9及以下)

如果你的Python版本低于3.10,可以安装官方维护的typing_extensions包,然后使用其中的ReturnType:

pip install typing_extensions

对应代码示例:

from typing import Tuple
from typing_extensions import ReturnType

def func() -> Tuple[int, int]:
    return 1, 1

def call_back(arg: ReturnType[func]) -> int:
    a, b = arg
    return a + b

扩展说明

ReturnType不仅支持无参函数,带参数的函数同样适用,它会直接读取函数定义时的返回类型注解:

def multiply(x: float, y: float) -> float:
    return x * y

def format_result(val: ReturnType[multiply]) -> str:
    return f"计算结果:{val:.2f}"

内容的提问来源于stack exchange,提问作者Philip Nelson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 23:46:12