Привязка значения объекта в функции (замыкание)
В SML (функциональный язык программирования, который я выучил до Python) я могу сделать следующее:
val x = 3;
fun f() = x;
f();
>>> 3
val x = 7;
f();
>>> 3
Однако в Python первый вызов даст 3, а второй - 7.
x = 3
def f(): return x
f()
>>> 3
x = 7
f()
>>> 7
Как связать значение переменной с функцией в Python?