Дан такой пример.
def func(selector):
if selector < 0:
def func1(x):
return x*x
return func1
else:
def func2(x):
return x*x*x
return func2
def oper(L, function):
res = [function(k) for k in L]
return res
dd=[2,4,10]
print oper(dd, func(-1))
Не могу понять откуда func1 и func2 берет х. И вообще как сохраняется selector = -1?
Я думаю, что в строке
res = [function(k) for k in L]
То есть вот так:
func(2)
func(4)
func(10)
Но это должно влиять только на selector.