На Тостере много раз задавался этот вопрос с разными формулировками. Сначала стоит прочитать
лучшие ответы на эти вопросы. Никому, из умелых и ценящих свое время, не хочется повторяться.
Я неоднократно писал про начало на этом сайте.
и единственное, что понял, что нужно обязательное знание ООП
В Python нет "продвинутой" ООП, и изучение ООП в случае Python не должно занять много
времени (по сравнению с Java и тем более C++). Более или менее больших организациях,
элементы ООП используются, чтобы упорядочить большой код (классы) и еще в силу привычки.
Мир потихоньку уходит от ООП, в маленьких проектах просто в процедурное
программирование и в функциональное программирование. Поставьте себе в очередь,
после изучения ООП, функциональное программирование.