У меня есть эта часть кода:
#!/usr/bin/env python
def get_match():
cache=[]
def match(v):
if cache:
return cache
cache=[v]
return cache
return match
m = get_match()
m(1)
если я запустил его, он говорит:
UnboundLocalError: local variable 'cache' referenced before assignment
но если я это сделаю:
#!/usr/bin/env python
def get():
y = 1
def m(v):
return y + v
return m
a=get()
a(1)
выполняется.
Есть ли что-то со списком? или неправильная организация кода?