Hm, ich habe Python auch anwendungsbezogen, d.h. weniger an einem "typischen" Tutorial sondern mehr an der Aufgabe orientiert, erlernt. Und ich finde, dass ich die Sprache inzwischen einigermaßen gut beherrsche. Was ich damit sagen will: Wenn jemand schon jetzt weiß, dass er später in seinen Programmen gewisse Funktionalität aus C-Bibliotheken braucht, finde ich es nicht verkehrt, sich relativ früh mit dem dafür gängigen Modul auseinanderzusetzen.
Ich will nicht wissen, wieviele Leute es gibt, die meinetwegen geübt in Django sind und auch einigermaßen passable Web-Anwendungen damit hinbekommen (vielleicht auch weil sie studien-/berufsmäßig aus dem Umfeld kommen), aber in anderen Teilen von Python relativ wenig Wissen haben. Ebenso könnte das für irgendwelche Naturwissenschaftler gelten, die sich primär mit Numpy beschäftigen.
IMHO macht Lernen immer noch am meisten Spass, wenn man ein Ziel, d.h. eine praktische Umsetzung, vor Augen hat und auch das Gefühl hat, sich dort hinzubewegen. Auf dem Weg dorthin wird man zwangsläufig zu immer besserem Code und generellem Wissen über Python kommen, sofern man denn Wert auf guten Code und Wiederverwendbarkeit legt (vgl. 50-zeilige Main()-Funktion).
Ich persönlich habe z.B. im Moment wesentlich mehr Freude daran, den Cursor in einem Terminal um eine Zeile höher bewegen zu können als die perfekte Implementierung eines Primzahlen-Algorithmus oder eine Adressverwaltung zu schreiben. Alles 3 völlig unterschiedliche Bereiche, bei denen man themenbezogenes Hintergrundwissen benötigt, welches man dann immer noch pythongerecht (z.B. objektorientiert oder unter Nutzung performanter Funktionen/Abläufe) umsetzen kann.