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

如何正确应用Python类型检查实现整数参数判断功能

实现only_ints函数的方案

你遇到的布尔值被isinstance判定为int的问题,根源是Python中bool类型本身就是int的子类,所以如果要严格排除布尔值、只认纯整数,直接用type()做精确类型匹配即可,不需要用isinstance。

具体实现代码

def only_ints(param1, param2):
    # type()会返回对象的精确类型,严格匹配int类型即可排除布尔值
    return type(param1) is int and type(param2) is int

验证测试结果

  • only_ints(1, 2) → 返回True,符合预期
  • only_ints("a", 1) → 返回False,符合预期
  • only_ints(False, 3) → type(False)为bool,返回False,解决你提到的布尔值误判问题
  • only_ints(2.5, 4) → 2.5是float类型,返回False

小提示:判断类型时用is比==更合适,因为Python中的类型对象都是全局单例,is判断的是身份标识,效率和严谨性都更高。

内容的提问来源于stack exchange,提问作者HUNG JOE KIT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:00:03