Не знаю подойдет ли Вам мой путь развития. Опишу свой путь изучения Python-а, т.е. ту "дорожку" по которой прошел сам.
У меня были задачи разного характера:
* Поискать в логах тестируемого приложения значения одного типа и принять решение, ошибка сборки или нет
* Обновить версию приложения в исходном код на основе входного json-файла содержащую параметры новой версии
* Скачать исходники из Mercurial из текущей ревизии, Собрать приложение, Запустить тестовое приложение и если обнаружена ошибка, то откатиться до предыдущего тега по формату ver__ и повторить снова. После обнаружения тега на котором ошибки нет напечатать это в логе
Любой язык программирования учится значительно быстрее, если Вы решаете не "ханойские башни", а непосредственно свои проблемы или проблемы команды с которой пилите проблемы.
Уверяю Вас: задача + справочник Д.Бизли + Stackoverflow = то что Вам нужно!