NLTK provides a book that teaches both programming and applied computational linguistic techniques at the same time. It looks pretty good for CL--it works with word-based examples instead of numbers in the first chapter, for example. It also introduces RegularExpressions in the first chapter, which is both useful and rare, but something that computational linguists need to know.
Bruce Eckel has a book called Thinking in Python that is available for free.
Here is a list of 10 Free Python Programming Books.
If you have learned another P-Language first and are switching to Python, you probably won't have much trouble. Here are some Python-specific tips and idioms, though.
See also:
