В Python, когда вы передаете внутренние функции другим функциям, как он сохраняет переменные?

Например, почему это работает?

def func1(func1var):
    def innerfunc(innerfuncvar):
        if func1var == 1:
             print innerfuncvar
        else:
             print 5
    func2(innerfunc)


def func2(function):
     function(9)

Когда innerfunc вызывается в func2 , как ему узнать значения func1var ?

9
задан brandizzi 16 August 2011 в 15:31
поделиться