Python 3.x UnboundLocalError:局部变量';最大结果';分配前参考

Python 3.x UnboundLocalError:局部变量';最大结果';分配前参考,python-3.x,Python 3.x,发布的代码不是您运行的代码,因为未定义搜索结果,执行将停止。根据您发布的内容,我猜想执行len(statuses)>max_results时没有定义max_results。在原始代码中,循环必须在函数定义中。只有在函数中的名称(由于它是赋值目标而被定义为本地名称)在任何赋值之前使用时,才会出现错误消息。例如: for _ in range(10): try: next_results = search_results['search_metadata']['next_r

发布的代码不是您运行的代码,因为未定义
搜索结果
,执行将停止。根据您发布的内容,我猜想执行
len(statuses)>max_results
时没有定义
max_results
。在原始代码中,循环必须在函数定义中。只有在函数中的名称(由于它是赋值目标而被定义为本地名称)在任何赋值之前使用时,才会出现错误消息。例如:

for _ in range(10):
    try:
         next_results = search_results['search_metadata']['next_results']
    except KeyError or e:
        break
    kwargs = dict([ kv.split('=')
                    for kv in next_results[1:].split("&") ])

    search_results = twitter_api.search.tweets(**kwargs)
    statuses += search_results['statuses']
    if len(statuses) > max_results:
        break

q = "CrossFit"

results = twitter_search(twitter_api, q, max_results=10)

print (json.dumps(statuses[0], indent=1))
>>def():
如果为True:返回y
其他:y=1
>>>f()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
f()
文件“”,第2行,在f中
如果为True:返回y
UnboundLocalError:赋值前引用了局部变量“y”

请阅读此SO帮助页面并采取行动。您发布的内容既不完整又过于完整(if语句之后的所有内容都是多余的)。

请提供更多上下文,完整堆栈跟踪?完整代码?问题是什么?
>>> def f():
    if True: return y
    else: y = 1

>>> f()
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    f()
  File "<pyshell#10>", line 2, in f
    if True: return y
UnboundLocalError: local variable 'y' referenced before assignment