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

Jupyter Notebook导入自定义函数报错:TypeError类型错误求助

问题修复方案

错误原因

你遇到的TypeError是因为调用percentage_change时传入的updated_total和updated_inflation_values是字符串类型,而Python不支持对字符串执行减法、除法这类算术运算。

修复方法

方法1:在函数内部处理类型转换(推荐)

直接在函数里把参数转成数值类型,同时增加异常处理,避免转换失败或除零错误:

def percentage_change(updated_total, updated_inflation_values):
    try:
        # 将参数转换为浮点型,适配整数和小数场景
        total = float(updated_total)
        inflation_val = float(updated_inflation_values)
        
        # 防止除零错误
        if inflation_val == 0:
            raise ValueError("updated_inflation_values 不能为0,否则会触发除零错误")
            
        return ((inflation_val - total) / inflation_val) * 100
    except ValueError as e:
        print(f"错误:{e}")
        return None

方法2:调用函数前提前转换类型

如果能确定参数的来源(比如从CSV/Excel读取的字符串数据),可以在调用函数前手动转成数值:

# 假设从外部获取的是字符串格式的数值
total_str = "80"
inflation_str = "100"

# 转换为浮点型后调用函数
result = percentage_change(float(total_str), float(inflation_str))

注意事项

  • 从文件、用户输入或第三方工具读取的数据,很多时候默认是字符串类型,必须先转换为int或float才能进行算术运算。
  • 一定要处理分母为0的情况,否则会触发ZeroDivisionError。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:40:20