С качественного учебника программирования начинать. Который не про то, как писать код, а про то, как решать программистские задачи. В учебнике Вирта математика на уровне школы и даже не выпускных классов. В вот дальше надо ВУЗовскую дискретную математику изучать.
А язык программирования будет тем, который используется в этом учебнике для объяснения свойств алгоритмов - удобным именно для начального обучения. И это будет не Python.
Начинать с Python - прямой путь в говнокодеры. Python - он не для того, чтобы научить программированию, а для того, чтобы человек, никогда не изучавший программирование, мог максимально просто собрать кое-как работающий код из готовых кубиков-библиотек, написанных другими людьми на совершенно других языках.