# Can You Recommend a Python Textbook?

**URL:** <https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023>\
**Category:** In My Humble Opinion\
**Created:** [February 24, 2016, 10:31pm UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023 "2016-02-24T22:31:35Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![StusBlues](https://avatars.discourse-cdn.com/v4/letter/s/dc4da7/32.png) [@StusBlues](https://boards.straightdope.com/u/StusBlues)\
**Post date:** [February 24, 2016, 10:31pm UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/1 "2016-02-24T22:31:35Z")

</div>

Hello, code-minded folk.

Is there a resource for learning Python that you would recommend? While you’re at it, is there an interpreter whose merits you would like to champion?

Thanks,  
Stu

---

<div class="post-metadata">

**Author:** ![janis\_and\_c0](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/janis_and_c0/32/21_2.png) [@janis\_and\_c0](https://boards.straightdope.com/u/janis_and_c0)\
**Post date:** [February 24, 2016, 10:40pm UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/2 "2016-02-24T22:40:18Z")

</div>

And now for something Completely Different–Common Core Math!  
NO ONE expected the Spanish inquisition… in 1478  
_reads OP_ never mind!

---

<div class="post-metadata">

**Author:** ![Blue\_Blistering\_Barnacle](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/blue_blistering_barnacle/32/3386_2.png) [@Blue\_Blistering\_Barnacle](https://boards.straightdope.com/u/Blue_Blistering_Barnacle)\
**Post date:** [February 24, 2016, 11:19pm UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/3 "2016-02-24T23:19:40Z")

</div>

I am currently teaching myself Python.

I hope the following doesn’t violate any code about pitching, but this is what I’m doing.

After messing around with some online tutorials a bit, I bit the bullet and bought:

“Python Crash Course” by Eric Matthes- list price is $40.

It has a simple clear discussion of the principles and uses of various commands. It poses various exercises for the reader. It seems didactically sound.

At more than 500 pages (i’m about a quarter into it), it’s not a superficial “crash course” (well maybe by computer science standards it may be).

I’m programming on my iPad using Pythonista. IIRC it is spendy for an app, about $10, especially when you can download Python for free onto just about any computer. Another drawback is that Pythonista is Python 2.7 and the world (and my textbook) have moved onto Python3. Still, it is **super** -convenient, I don’t regret the decision.

---

<div class="post-metadata">

**Author:** ![Rigamarole](https://avatars.discourse-cdn.com/v4/letter/r/77aa72/32.png) [@Rigamarole](https://boards.straightdope.com/u/Rigamarole)\
**Post date:** [February 24, 2016, 11:32pm UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/4 "2016-02-24T23:32:43Z")

</div>

Start with the [Codeacademy course on Python](https://www.codecademy.com/learn/python). It’s free.

---

<div class="post-metadata">

**Author:** ![StusBlues](https://avatars.discourse-cdn.com/v4/letter/s/dc4da7/32.png) [@StusBlues](https://boards.straightdope.com/u/StusBlues)\
**Post date:** [February 25, 2016, 1:05am UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/5 "2016-02-25T01:05:51Z")

</div>

Thanks, BBB and Rigamarole.

---

<div class="post-metadata">

**Author:** ![JohnGalt](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/johngalt/32/184_2.png) [@JohnGalt](https://boards.straightdope.com/u/JohnGalt)\
**Post date:** [February 25, 2016, 1:55am UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/6 "2016-02-25T01:55:56Z")

</div>

The book I use for my Introduction to Programming class is [Python Programming: An Introduction to Computer Science](http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1887902996) by John Zelle. There’s some discussion in the Amazon comments and in stackoverflow about his use of the eval() function, but I understand why he used it for the book. I like that it goes into some substantial math and discussion of algorithms. My students ranked the book highly.

---

<div class="post-metadata">

**Author:** ![HMS\_Irruncible](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hms_irruncible/32/7394_2.png) [@HMS\_Irruncible](https://boards.straightdope.com/u/HMS_Irruncible)\
**Post date:** [February 25, 2016, 1:58am UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/7 "2016-02-25T01:58:50Z")

</div>

Learning Python by O’Reilly is good. Really it’s such a self-explanatory language, any text will be good. I commend you on your choice.

---

<div class="post-metadata">

**Author:** ![Julius\_Henry](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@Julius\_Henry](https://boards.straightdope.com/u/Julius_Henry)\
**Post date:** [February 26, 2016, 12:02am UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/8 "2016-02-26T00:02:28Z")

</div>

I’ve been using [Automate the Boring Stuff](https://automatetheboringstuff.com) which is freely available online. I’ve finished the first section on some of the basic stuff and have just begun to move on to the more advanced sections. Coursera and EdX both have online python classes that you can start whenever you’d like. There are quite a few online books, tutorials, and videos, so if whichever one you start with doesn’t seem to work for you, Google around and find something new.

---

<div class="post-metadata">

**Author:** ![filmore](https://avatars.discourse-cdn.com/v4/letter/f/7993a0/32.png) [@filmore](https://boards.straightdope.com/u/filmore)\
**Post date:** [February 26, 2016, 12:56am UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/9 "2016-02-26T00:56:14Z")

</div>

What is your programming background? What is your most recent language environment and how many years? What about other languages? How knowledgeable are you about object-oriented programming?

I used [Learning Python](http://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730/) from the O’reilly series since I like that style. It’s not the best if you’re a newbie programmer. Those books are geared towards programmers who want to want to learn a new language vs someone who is learning it as their first language.

---

<div class="post-metadata">

**Author:** ![StusBlues](https://avatars.discourse-cdn.com/v4/letter/s/dc4da7/32.png) [@StusBlues](https://boards.straightdope.com/u/StusBlues)\
**Post date:** [February 26, 2016, 1:55am UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/10 "2016-02-26T01:55:24Z")

</div>

> [@filmore](#):
>
> What is your programming background? What is your most recent language environment and how many years? What about other languages? How knowledgeable are you about object-oriented programming?
> 
> I used [Learning Python](http://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730/) from the O’reilly series since I like that style. It’s not the best if you’re a newbie programmer. Those books are geared towards programmers who want to want to learn a new language vs someone who is learning it as their first language.

I’ve studied C++, but never used it in a work environment. OOP is not my strong point, I’m afraid.

---

<div class="post-metadata">

**Author:** ![bibliophage](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bibliophage/32/7615_2.png) [@bibliophage](https://boards.straightdope.com/u/bibliophage)\
**Post date:** [February 26, 2016, 5:30am UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/11 "2016-02-26T05:30:38Z")

</div>

> [@filmore](#):
>
> I used [Learning Python](http://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730/) from the O’reilly series since I like that style. It’s not the best if you’re a newbie programmer. Those books are geared towards programmers who want to want to learn a new language vs someone who is learning it as their first language.

I tried several books, but that O’Reilly title, _Learning Python_ by Mark Lutz, is the one that clicked for me, and I had relatively little previous programming experience. Be forewarned that the same author has another book with a similar title in the O’Reilly line (_Programming Python_) that is more advanced and much less useful in my experience.

I also found the free two-part [MOOC offered by MITx](https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-6) to be very instructive. There is a required text that was developed specifically for that course that would be a pretty good (and low cost) stand-alone introduction to the language even if you don’t take the MOOC: _Introduction to Computation and Programming Using Python_ by John V. Guttag.

---

<div class="post-metadata">

**Author:** ![leahcim](https://avatars.discourse-cdn.com/v4/letter/l/b4bc9f/32.png) [@leahcim](https://boards.straightdope.com/u/leahcim)\
**Post date:** [February 26, 2016, 11:39am UTC](https://boards.straightdope.com/t/can-you-recommend-a-python-textbook/747023/12 "2016-02-26T11:39:15Z")

</div>

If you are interested in taking a course, there is one starting on [Coursera](https://www.coursera.org/learn/python) soon.
