クロージャなんですが
def func1():
i = {'cnt': 0}
def _func1():
i['cnt'] += 1
return i['cnt']
return _func1

def func2():
i = 0
def _func1():
i += 1
return i
return _func1

func1みたいにリストもしくは辞書を使って書くと思った通りに動くんですが冗長に見えます
しかしfunc2みたいに書くとUnboundLocalErrorになってしまいます
もうちょっとすっきり書く方法って無いですかね?