Learning Python the hard way with Zed Shaw. Because repetition works.