首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UnboundLocalError:赋值前引用的局部变量"xyz“

UnboundLocalError:赋值前引用的局部变量"xyz“
EN

Stack Overflow用户
提问于 2012-05-12 23:03:14
回答 1查看 8.8K关注 0票数 0

UPDATE:针对Wooble的评论,在for前面添加了一个“扇区=无”,只是返回"None“。我认为问题是for循环中的变量没有被返回。

下面是运行良好的函数的一部分,直到最近,我更改了代码中看似无关的部分。

#->我最近更改的唯一部分是在返回语句中添加"stockurl“

现在我得到了UnboundLocalError:局部变量“扇区”在赋值之前引用,引用了“返回”行。

代码语言:javascript
复制
for sec in root.xpath(r'''//a[re:match(@href, "http://biz.yahoo.com/p/[0-9]{1}conameu.html")]''',
                namespaces={'re': 'http://exslt.org/regular-expressions'}):
    sector = sec.text
    #print "Sector: " + sector

for ind in root.xpath(r'''//a[re:match(@href, "http://biz.yahoo.com/ic/[0-9]{1,9}.html")]''',
        namespaces={'re': 'http://exslt.org/regular-expressions'}):
    industry = ind.text
    #print "Industry: " + industry

#index          --> don't populate here
#followers  --> don't populate here

return a, b, c, d, e, f, stockurl, sector, industry
    #--> the only part I had changed recently was adding "stockurl" to the function
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-12 23:28:23

让我们看一看错误消息,并向后工作:

赋值前引用的

局部变量“扇区”

这意味着您所指的是sector,但sector尚未分配或绑定到对象。

sector的唯一分配是在for loop的主体内。因此,显然,没有输入for循环的主体。只有当对root.xpath()的调用返回一个空的可迭代对象时,才会发生这种情况。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10568056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档