Почему в консоли false? Объясните пожалуйста алгоритм поэтапно

def foo(x):
    x = ['a', 'b']
    return id(x)
x = ['a', 'b']
print(id(x) == foo(x))

Ответы (1 шт):

Автор решения: ganz

потому что глобальная и локальная область видимости то есть: создан объект, с некоторым ид в глобальной области видимости, далее идёт вызов функции, где создаётся новый объект с локальной областью видимости, с новым ид, вот и разница.... аналогично id(x) is foo(x)

→ Ссылка