在函数内修改函数外定义的变量,求助

在函数内修改函数外定义的变量,求助

写一段代码,需要在函数内修改函数外定义的变量,不知怎么解决
举个简单的例子说明我的问题

如果程序如下,那么正常返回为“ab”

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/env python
def f():
  t='a'
  t = t+'b'
  return t

x = f()
print x

如果是这样,则错误,提示:UnboundLocalError: local variable 't' referenced before assignment

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/env python
def f():
  t = t+'b'
  return t

t='a'
x = f()
print x

但是现在是程序需要,一定要在函数外定义变量t,请问该如何解决?初学python,找了一些资料也没找到合适的方法,请大家帮忙,谢谢
搞清楚了,原来需要global,呵呵
把t改成全局变量
>>> def f():
...     global t
...     t=t+"b"
...     return t
...
>>> t="a"
>>> x=f()
>>> print x
ab