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

Python如何获取函数返回值并使用?新手技术求助

解决NameError: name 'dealId' is not defined问题

问题原因

你直接使用了未定义的dealId变量,没有从API返回的resp字典中提取出对应的dealId值。

解决步骤

  1. 从API返回结果中提取dealId
    API返回的resp是字典结构,你需要通过键名dealId取出对应的值并赋值给变量。推荐用get()方法,避免键不存在时抛出KeyError:

    # 调用API获取数据
    resp = service.get_deal_data(size=1, level=None, limit_distance=None, limit_level=None)
    # 提取dealId,get方法可指定默认值(比如None)应对键不存在的情况
    deal_id = resp.get('dealId', None)
    

    若确定dealId一定存在,也可直接用键取值:

    deal_id = resp['dealId']
    
  2. 修正列表比对代码
    你的列表元素未加引号,会被Python当成变量引发错误;同时不要用list作为变量名(它是Python内置类型),换成更明确的名称:

    # 修正后的ID列表,每个元素为字符串类型(加引号)
    deal_ids_list = ["DDHWUH5HGMA8", "JNDWJ7HDJ2", "7HDWUDH9D"]
    # 使用提取好的deal_id进行比对
    if deal_id in deal_ids_list:
        print("exist")
    else:
        print("not exist")
    

完整代码示例

# 调用API获取数据
resp = service.get_deal_data(size=1, level=None, limit_distance=None, limit_level=None)
# 提取dealId
deal_id = resp.get('dealId')

# 定义ID列表
deal_ids_list = ["DDHWUH5HGMA8", "JNDWJ7HDJ2", "7HDWUDH9D"]

# 比对逻辑(加判断避免deal_id为None时出错)
if deal_id and deal_id in deal_ids_list:
    print("exist")
else:
    print("not exist")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:55:14