To learn any programming language, I would advise, in this particular order:
- Have a project idea or a goal
- Get basic python knowledge (any renown book or tutorial will do[1]) and get an overall feeling of the language, philosophy, main frameworks
- Make sure that Python is the right tool for what you want to make or at least one of the possible tools
- Start your project and learn along the way by researching how to solve problems the right way
- Make your project work
- Make it work better
- Make it work faster
Bonus: Insert somewhere:
- Other programmers' opinions on your code
[1] Resources: http://www.diveintopython.net/, http://learnpythonthehardway.org/
Also, see this thread on StackOverflow for other popular resources: http://stackoverflow.com/questions/70577/best-online-resourc...