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

Python函数调用中类型提示未自动转换参数类型的原因咨询

Python类型提示不自动转换参数类型的原因解析

核心原因

Python中的**类型提示(Type Hints)**仅作为代码标注存在,作用是给开发者、IDE或静态检查工具(如mypy)提供类型参考,完全不会在程序运行时对参数执行自动类型转换。你在函数定义里写的n:int只是声明该参数的预期类型,解释器运行时不会据此修改传入参数的实际类型——传入float就还是float,不会自动转成int。

所以你的代码里,11.2这类float值传入函数f后,直接参与乘法运算,得到的自然是11.2*10=112.0这类float结果。

实现预期效果的方法

如果需要将传入的参数转为int后计算,必须在函数内部手动执行类型转换:

def f(n:int):
    n = int(n)  # 手动将参数转为int类型
    return n*10
l = [11.2, 2.2, 3.3, 4.4]
mfunc = map(f,l)
print(list(mfunc))

运行这段代码会得到预期结果:[110, 20, 30, 40]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 04:20:32