Learn Python 3 the hard way - Shaw, Zed A.