Да и не только Пайтон разработчики, большинство 🤣
В питоне, да в большинстве других скриптовых языков, область видимости - это банальная хеш-таблица. Кеогда кто-то обращается к переменной, допустим, x, происходит поиск x в словаре, связанном с областью видимости, а потом идёт обращение к значению.
Динамическая типизация - значит, можно в массив или словарь запихать значения любого типа. Значит, там на самом деле лишь указатели на значения.
Т.е. код на скриптовом языке типа питона максимальнейше неоптимизирован. Каждое обращение к переменной - это поиск в хеш-таблице и переход по указателю. Каждое чтение свойства класса - то же самое.