Python jest specyficzny. Nie wiem w jakim języku pisałeś na Arduino, ale zwykle jest to język C-podobny, więc radziłbym zacząć od C++ lub innego języka "klamrowo-średnikowego". Python ma sporo rzeczy uproszczonych, co powoduje, że wiesz co jest czym, ale nie wiesz jak działa od podstaw, a przy optymalizacji kodu jest to dość ważne.
Książkę spróbuj, jak wejdzie to super, jeśli nie, to szukaj dalej.