Of course you can also just buy the book.
If you're a bit more familiar to programming, try Zed Shaw's Learn Python The Hard Way:
Though 'The Hard Way' is obviously not for the novice completely new to programming it does teach a bit more than just the language, things that make you into a better coder.
You'll also find a comprehensive list at:
Think Python: How to Think Like a Computer Scientist http://www.greenteapress.com/thinkpython/
It's a pretty good overview of basic concepts of Computer Science, it's focus is Object-Oriented but does cover functional programming as well.
I would also pair any of the suggestions offered here with http://pythontutor.com/ adding the visual component of program execution will help absorb the material much quicker and get you used to the nuances of python.
6.00x (MIT's edX Intro to CS course), Python
CS101 (Udacity's Intro to CS course), Python
Python the Hard way (Zed Shaw's online book), Python
Code Academy, (Python track), Python
I consider 6.00x and CS101 to be my CS foundation and Python Hard way and Code Academy to be brush-up on the Python/programming. Working through all these in tandem really hits my brain in 4 different but complementary angles.