Привязка значения объекта в функции (замыкание)

В 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?

Ответы на вопрос(4)

Ваш ответ на вопрос