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

Python指定int返回类型却返回字符串无报错?声明返回类型有何作用?

示例代码

def func() -> int:
    print("H")
    return "Harith"

x = func()
print(x)

没有触发错误的原因

你写的-> int属于Python的类型标注,遵循PEP 484规范,这类标注本身是运行时无强制效力的,Python解释器执行代码时会直接忽略所有类型标注,不会做任何自动的类型校验,所以哪怕实际返回值和声明的返回类型完全不符,代码也能正常运行不会报错。
如果需要校验类型是否匹配,需要额外使用mypy、pyright这类静态类型检查工具,扫描代码时就会识别出这段代码的返回类型不匹配错误。

声明返回类型的作用

  • 辅助静态类型检查:在开发阶段通过静态检查工具提前识别类型不匹配的问题,避免这类bug在运行时才暴露
  • 提升代码可读性:不用通读函数内部实现,仅看返回类型标注就能明确函数的预期输出类型,降低代码理解成本
  • 优化IDE使用体验:IDE可以基于返回类型标注提供更精准的代码补全、实时错误提示,提升开发效率
  • 支持第三方库功能:很多常用库依赖类型标注实现核心功能,比如FastAPI用类型标注自动做参数校验、生成接口文档,pydantic用类型标注实现数据模型的自动校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:06:03