Я просто банально не понимаю. При вызове виртуальной функции там куча лишних операций с таблицей виртуальных функций(да-да, её не существует). В компайл тайме просто берётся информация, известная компилятору, безо всяких там лишних таблиц? Вообще не понимаю
А что непонятного? Интерпретатор питона может знать какой тип у переменной?