local variable 'xxx'referenced before assignment

【求助】local variable 'xxx'referenced before assignment
Python code
def a(): 
test={'a':123,'b':456}
for item in test:
 if item.name == 'a':
  xxx=item.name+'='+item.value
a=xxx
def b()
……

xxx这个变量在引用前还没有定义,这上面不是定义了么?
如果去掉 def b()就正常了,求解。

------解决方案--------------------
Python code
# python version:3.2
# -*- coding:gbk -*-

test = {'a':123, 'b':456}
for item in test:
    if item == 'a':
        xxx = item + '=' + str(test[item])

------解决方案--------------------
Python code
def a():
    test = {'a':123,'b':456}
    for item in test:
        if item == 'a':
            xxx = item + '=' + str(test[item])
            return xxx

------解决方案--------------------
很明显的变量作用域的问题啊。。。
def a(): 
test={'a':123,'b':456}
xxx = None
for item in test:
 if item.name == 'a':
  xxx=item.name+'='+item.value
a=xxx
def b()
……