Nun, ich habe vor einem Jahr etwa das erste mal Python programmiert, aber nur etwa 1, 2 Abende. Von dort her wusste ich nur noch, dass man die Programmstruktur durch indentation, also Einrückung vorgibt, und dass es zwischen Tupeln, Listen und Maps unterscheidet. Ersteres wären, in PHP Worten: 0-indexierte Arrays die, einmal definiert, unveränderlich sind. Das zweite sind 0-indexierte, veränderliche Arrays und das Letzte sind assoziative, veränderliche Arrays. (natürlich noch Standarddinge wie man eine Funktion, Klasse definiert etc)
Jetzt habe ich einfach von einem Opensourceprojekt, das mir gefallen hat, Code gelesen und dann eigenen Code geschrieben. Daneben natürlich als Studienmaterial die Python-Sprachreferenz.
Ein wichtiger Unterschied zu PHP ist, dass in Python, wie auch in JavaScript, Funktionen und Klassen first-class objects sind. D.h. man kann einen Typ, Klasse oder eine Funktion als Parameter übergeben, ich kann Funktionen zur Laufzeit austauschen und vieles mehr. (Klar, in PHP kann man einen Teil dieser Funktionalität nachprogrammieren und PHP 5.3 geht auch ein wenig mehr in diese Richtung, aber es trotzdem ein grosser Unterschied.
Welches Tutorial ich anno-dazumals gebraucht habe, kann ich dir nicht mehr sagen, allerdings sehe ich, dass Python.org selbst auch ein Tutorial bietet:
The Python Tutorial — Python v2.7 documentation
Hier wäre die Sprachreferenz:
The Python Standard Library — Python v2.7 documentation
Ich habe mit Python 2.7 angefangen, da das Projekt, das ich angeschaut habe, auch diese Python Version genutzt hat.