Мое понимание изменяемости и неизменности в Python есть, скажем, у нас есть переменная foo
, если существует способ, чтобы изменить как foo
выглядит (с помощью print
), не изменяя его id
, то foo
изменчиво. В противном случае это непреложно.Как показать, что функция изменена в Python?
Например, вы можете сделать это для list
,
foo = [1, 2, 3]
print(foo, id(foo))
foo[0] = 100
print(foo, id(foo))
но никак не для int
.
Но как насчет функции? Прежде всего, правильны ли мои определения изменчивости и неизменности? Если да, можете ли вы найти способ изменить функцию без изменения ее id
, чтобы доказать, что она изменчива?