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

使用BeautifulSoup封装函数统计XML元素返回None如何解决

问题解答

错误根源

你代码的核心问题是 动态属性访问的语法错误:
写suppe.para1时,Python会将para1当作属性的固定字面名称,而非传入的参数变量值。也就是说代码实际在查找suppe中名为para1的属性,不是你传入的"some"对应的属性,判定不通过后函数没有显式返回值,默认返回None。

修改后的正确代码

用Python内置的getattr()函数动态获取变量对应的属性即可:

def return_len(para1, para2):
    # 动态获取属性,不存在则返回None避免报错
    target_parent = getattr(suppe, para1, None)
    if target_parent:
        return len(target_parent.find_all(para2))
    # 元素不存在时默认返回0,也可根据需求调整返回值
    return 0

修改后调用print(return_len("some","child"))即可正常输出结果3,和你写死的return_len1()效果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:36:07