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

Python typing:如何正确为接受类型T及其实例的函数添加类型注解?

问题分析与解决

你的类型注解写法本身是正确的,mypy本应对function(str, 5)这种不匹配的调用报错。没触发错误的原因大概率是以下几种情况:

  • mypy版本过旧:旧版本的mypy对泛型参数的约束检查不完善,无法识别这种类型不匹配。执行pip install --upgrade mypy升级到最新版本即可。
  • mypy配置过于宽松:如果项目里有mypy.ini、pyproject.toml这类配置文件,可能误关了必要的检查项——比如设置了ignore_errors = true,或者禁用了arg-type错误码。检查配置文件,确保启用基础类型检查。
  • 执行命令有误:确认你运行的mypy file.py确实指向了目标文件,没有路径或文件名拼写错误。

用最新版mypy运行你的代码,应该会得到如下错误提示:

file.py:11: error: Argument 2 to "function" has incompatible type "int"; expected "str"  [arg-type]
Found 1 error in 1 file (checked 1 source file)

另外,你代码里导入的Any没有实际用途,可以直接删掉,不影响类型检查逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 02:36:31