This post started because I was going to recommend Black Hat Python 2nd Edition. Then I realized it was part of a Humble Bundle, so basically, for the price of the eBook, you can get 18 books:
It's a really great learning resource. I started by working through it from start to finish, but about halfway through, I decided to just kind of jump around and do the stuff that interested me. It's a good book, and has taught me quite a bit.
I'm still a crap coder, but this has definitely taught me some stuff, and I have noticed that as I work more with Python, things seem to move faster. What I mean by that, is things often work on the first or second try. The book has helped, but a lot of it is just me learning and improving. I used to spend a day or more just trying to get small chunks of code to work the way I wanted them to work. I've gotten better at finding the stuff I need to find and implementing it into my scripts.
It used to be very frustrating to write any bit of code, but I kept at it. I'm still not good by any means, but I notice that the more I mess with stuff, the more I am able to write code effectively. I'm sure it's still sloppy, and there are a lot of n00b mistakes, but screw it. Keep learning.