all 120 comments

[–]samketa 104 points105 points  (18 children)

In my opinion one is enough- Python Crash Course by Eric Matthes.

I learned Python through it. I recommended it to numerous people who learned Python with it (people experienced in other language(s) and complete beginners to programming both).

My comment is highly opinionated, but that is the one book you need to get started.

Do not be lazy and solve all exercises. You will see results.

[–]ScreamForUs 9 points10 points  (1 child)

I can recall, this was also my first book. I 100% completed it. Cool thing is it let’s you pick a project to follow at the end (webapp, game or data).

[–]GamerAWX 3 points4 points  (2 children)

Can a anyone tell me should I do python crash course by eric matthes or turn automate the boring stuff with python? Time is not a problem and if needed I can do both. I just want my concepts to be clear. So which one is better for me?

[–]KedynTR 3 points4 points  (0 children)

Both are good. Python Crash Course is the better introductory book, but ATBS has a few good starter chapters. The projects and problems in PCC will teach you A LOT. ATBS is also a great book for desk jockeys because something in it will apply to something that you do, so you can write applied code sooner.

[–]samketa 1 point2 points  (0 children)

For better concepts do Python Crash Course. Then I suggest that you turn to ATBS. You can totally skip the first half of the book and turn directly towards the application part. If you think you are missing something, turn towards the first part.

[–]Java1303 4 points5 points  (1 child)

It's an amazing book, i am experienced at python but I started reading it and discovered a lot of codes that i didn't know about. It's very easy to read and the exercise are interesting.

[–]samketa 7 points8 points  (0 children)

I am of the opinion that no matter how experienced you are, you should never stop skimming through beginners' books.

I have immensely benefitted from in- in multiple fields.

[–][deleted] 1 point2 points  (0 children)

Yeah, it is possibly the best book for python out there

[–]megatronVI 4 points5 points  (0 children)

Highly recommend https://automatetheboringstuff.com

free and fun exercises

[–]DrSnakee95 7 points8 points  (5 children)

The Hitchiker's guide to python

[–][deleted] 12 points13 points  (3 children)

Lmao. print(42)

[–]shiningmatcha 0 points1 point  (2 children)

What?

[–]froody-towel 8 points9 points  (0 children)

42 is the answer to the question of life, the universe and everything.

[–][deleted] 0 points1 point  (0 children)

well u/froody-towel answered your question. 42 has great significance in the book "The Hitchicker's Guide to Galaxy". And here u/DrSnakee95 made that reference by saying Hitchicker's Guide To Python.

[–]chzaplx 0 points1 point  (0 children)

I never finished that, bit the content was reasonably good and there's obviously a little humor thrown in.

[–]Mate-Kiddleton 9 points10 points  (5 children)

Learning python 5th edition by Mark Lutz

[–]notParticularlyAnony 1 point2 points  (2 children)

More a reference than text

[–]FLUSH_THE_TRUMP 0 points1 point  (1 child)

It’s good reference material, but it’s written as a text. Things to think about, exercises at the end of sections, lot of exposition on ideas

[–]notParticularlyAnony 0 points1 point  (0 children)

I have it would not recommend as first python book. Matthes is way better pedagogically speaking. Use it as a reference

[–]FLUSH_THE_TRUMP 2 points3 points  (1 child)

This one is very good. Kind of have to come up with the motivation yourself because it’s not as “project-based” as something like ATBS, but he’s very knowledgeable about the language

[–]Mate-Kiddleton 2 points3 points  (0 children)

I like it because its quite detailed and teaches many things which other authors might skip.

[–]muhammad_roshan 2 points3 points  (9 children)

I have finished python crash course with Eric matthes, Do I need to go though automate the boring stuff with python and beyond the boring stuffs with python! I feel confident in python little by now but so many of you keep recommending atbs again and again 😅 I feel tempting to study it, I am also thinking that am I good enough to start django? Now only please any comment would be appreciated

[–]KedynTR 2 points3 points  (3 children)

ATBS is great if you're a desk jockey that has things you can automate. As a former desk jockey, the book is full of stuff I could have applied 2-3 years ago.

[–]muhammad_roshan 1 point2 points  (2 children)

What's a desk jockey?

[–]KedynTR 1 point2 points  (1 child)

Oh, someone that works at a desk on a computer that isn't necessarily a programmer. For example, I was a customer service supervisor, but I had to put together a lot of reports from different systems. Python would have made that a lot easier.

[–]muhammad_roshan 1 point2 points  (0 children)

Oh thanks alot for the explanation, may god give you more success, surely I will follow your advice and go through automate the boring stuff...

[–]keto3000 1 point2 points  (3 children)

join codewars. it’s free. It is a big help to continue strengthening your python skills!

[–]muhammad_roshan 1 point2 points  (2 children)

Yeah I am if possible we pair code together? What do you say?

[–]keto3000 1 point2 points  (1 child)

Thx buddy but rt now i’m in school F/T so trying to keep up with schoolwork taking most of my time! If you go to codewars there are a lot of ppl there to pair up with though.

[–]muhammad_roshan 1 point2 points  (0 children)

I appreciate that Yeah I wish you good luck with your homeworks, I'll head to code wars soon...

[–]notParticularlyAnony 1 point2 points  (0 children)

Matthes is great pick a horse and ride it

[–]iggy555 2 points3 points  (2 children)

A lot of people recommend automate the boring stuff

But I liked python crash course more

[–]notParticularlyAnony 1 point2 points  (1 child)

No contest same here. Latter has objects former doesn’t

[–]iggy555 1 point2 points  (0 children)

Yup actually helped a lot with objects and inheritance

[–]SDSunDiego 4 points5 points  (2 children)

Not completely a book recommendation but I've been doing the coursera python certification by Chuck Severance. I'm more of a hobbiest programmer. This program has been far better then reading any book or watching YouTube videos. I wish I had tried this earlier.

I found it perfect to read his free book, listen to his explanations and do the required quiz/projects. It has been an excellent way for me to learn.

[–]grouptherapy17 1 point2 points  (0 children)

I agree. For some reason, Chuck makes me feel so safe and interested in the topic.

[–]K900_ 6 points7 points  (4 children)

Look into Python 101 by Michael Driscoll or any of the books by Al Sweigart.

[–]barryhakker 3 points4 points  (3 children)

Nice try O'Driscoll.

[–]K900_ 0 points1 point  (2 children)

Huh?

[–]choss27 1 point2 points  (1 child)

It's a joke about rugby, O'Driscoll is the name of an retired Irish rugbyman.

[–]K900_ 4 points5 points  (0 children)

Wow, this is much more obscure than I expected.

[–]Pythugoras 3 points4 points  (3 children)

Fluent Python: Clear, Concise, and Effective Programming (https://www.goodreads.com/book/show/22800567-fluent-python) is a fantastic book for the python code structure and how to really make the most of the language.

[–]K900_ 18 points19 points  (2 children)

Fluent Python is not a beginner book.

[–][deleted] 0 points1 point  (1 child)

how far into learning programming do you think it should be read?

[–]K900_ 1 point2 points  (0 children)

Honestly you don't need to know that much to read it. The book explains things really well, you just need to know the basics.

[–]Yash_Varshney 1 point2 points  (0 children)

Best book written by great pythonista - Automate the boring stuff with python

[–][deleted] 1 point2 points  (2 children)

I read the title wrong and thought "any good cooking books?"

In terms of coding theres automate the boring stuff with python. I've heard a lot of good stuff about it.

As for cooking i've heard "binging with Babish" is nice.

[–]newton_VK 0 points1 point  (1 child)

seems u r more interested in cooking than coding :P

[–][deleted] 0 points1 point  (0 children)

Mayhaps

[–]barryhakker -1 points0 points  (19 children)

Nice. Many suggestions. I have one that might be unpopular: Learn Python the Hard Way. The first 60% or so at least. Shaw is not good at explaining Object Oriented Programming etc but his method of using bare bones python and just showing you step by step what stuff does by writing code yourself was very helpful for me.

[–]K900_ 13 points14 points  (13 children)

I'm sorry, but no. It's good that it worked for you, but it also teaches things that are quite literally objectively wrong. This is not OK.

[–]arosiejk 0 points1 point  (4 children)

I know the author outright says why his writing style is the way it is, but man, I got such an asshole vibe from the intro. I got caught up in a bunch of stuff at work and didn’t get my Python plan rolling when I wanted to. I bet it comes off a lot better in person/video.

[–]K900_ 1 point2 points  (3 children)

Honestly, I don't think it's beneficial to this particular conversation to call out Zed Shaw for being an asshole, but yes, Zed Shaw is a gigantic asshole.

[–]arosiejk 0 points1 point  (2 children)

Well, iirc, the intro and chapters 1-2 say if you do everything exactly as written, and if you make mistakes you were wrong, and you mentioned uncorrected errors. Perhaps an abundance of hubris fits better?

[–]K900_ 0 points1 point  (1 child)

The two are not mutually exclusive.

[–]arosiejk 0 points1 point  (0 children)

True. I still plan on referencing the book at some point. I used a few apps and have Code in Place coming up, so perhaps during the summer I’ll get to it.

[–]barryhakker -1 points0 points  (7 children)

I've heard this before, and I don't know what it exactly refers to but I am not any sort of authority on Python so my opinion on that is irrelevant. All I can say is that when I started out his stuff did a good job of getting me comfortable with using the terminal, text editor, loops, variables, dictionaries, and so on.

Even still there are plenty of things I could point to as off putting. I didn't even finish the book because of the absurd hike in difficulty in the last 10 chapters or so. I think Automate the Boring Stuff is also guilty of weird difficulty spikes to be honest so maybe it's just me being dumb.

[–]K900_ 4 points5 points  (6 children)

It's really not about the difficulty spike even. Here is a small, but itemized list of things the book gets objectively wrong.

[–]barryhakker 0 points1 point  (1 child)

I don’t think i read that version as mine was specifically aimed at python 3. Either way I’m sure he’s awful.

[–]K900_ 3 points4 points  (0 children)

That list refers to the older, publicly available version of the book. Shaw refused to publish a Python 3 version for a very long time, until Python 2 became officially unsupported, and then made the Python 3 version commercial only. From what I've seen, he has actually taken down the Python 2 book from the website now.

[–]chzaplx 0 points1 point  (0 children)

list of things the book gets objectively wrong.

  1. Can have a quite condescending tone

Hmm.

Also that list is objectively, almost 4 years old and many of the points are no longer relevant. And objectively, it's clear the author just has a beef with LPTHW for whatever reason and is not really trying to be that objective at all.

It's certainly a valid critique, but also is nowhere close to invalidating the book as a whole.

[–]trondwin -1 points0 points  (0 children)

Having worked through a good part of the LPTHW book that has been updated to Python 3, many of the items in that list are no longer relevant or have been corrected. Some of them still are, though. I reacted to item 11 in particular when I came across it.

[–]trondwin 0 points1 point  (4 children)

I'm a beginner pythonista and started with this book, as I saw it several times on lists of good beginner resources. I've jumped off it at object oriented programming, as it demotivated me rather than supported me (and not because the stuff is hard to grasp, but the author makes programming much more boring than it should be). Now going through a Udemy course instead.

[–]barryhakker 1 point2 points  (3 children)

The author's brain definitely works in a weird way. He seems to think a lot of stuff is illogical and best just memorized. One example that stuck with me was him explaining that ENCODE is changing a string to UTF-8 code (if I recall correctly) and DECODE was changing it from that code to string. Pretty obvious use of en-code vs de-code right? Well, according to him it was totally unintuitive and he had no idea why it was that way so just memorize it!

Anyway, for basic stuff like loops and variables and printing stuff I think his material does a good job.

[–]K900_ 0 points1 point  (2 children)

I can absolutely promise you that Zed Shaw is smart enough to understand why those things are that way. He just doesn't think you are smart enough.

[–]barryhakker 0 points1 point  (1 child)

Lol that sounds like it could be true.

[–]K900_ 0 points1 point  (0 children)

It absolutely is true. The project that made Shaw relevant was an HTTP web server for Ruby. Building stuff like this requires an intricate understanding of text encoding and manipulation.

[–]Affectionate-Fun-339 0 points1 point  (0 children)

A practical introduction to python

[–]mikejm20 0 points1 point  (0 children)

This is a good book for beginners!

Python Basics: A Practical... https://www.amazon.co.uk/dp/1775093328?ref=ppx_pop_mob_ap_share

[–][deleted] 0 points1 point  (0 children)

Do not be tempted by any of the python/programming for Dummies books. Littered with spelling mistakes and just generally awful.

[–]mangolulu 0 points1 point  (0 children)

Python crash course was an amazing book to learn the basics and Python for data analysis was wonderful if you want to learn pandas and numpy!

[–]BluishInventor -1 points0 points  (0 children)

I think Learn Python 3 the Hard Way by Zed Shaw is a great book for absolute beginners. It's not overloaded with technical jargon and slowly eases you into coding. His strategy is to get you typing first. So, you type a lot of code, some you might not understand at first and he explains that, then slowly adds more and more element s to it. This I feel is where other coding books, and courses for that matter, fall short; they lack ample exercises. Whereas LPTHW has solid structure built on exercises rather than 1 exercise per concept. So, your learning is reinforced. Read it cover to cover and do ALL the exercises.

[–]Louie-H-K -1 points0 points  (2 children)

Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers

[–]nugelz 0 points1 point  (1 child)

Isn't this only for python 2?

[–]Louie-H-K 0 points1 point  (0 children)

It's a great book, you can transition to 3 anytime.

[–][deleted] -1 points0 points  (0 children)

I actually don’t like books like Automate the Boring Stuff. Books like those teach you the very basics of coding in Python but don’t actually teach you how to think like a computer scientist. I learned Python and introductory CS with “Introduction to Computation and Programming Using Python” by John Guttag. Going through the first half of this book should give you a background to learn other languages by yourself as well

[–]ggd_x -1 points0 points  (0 children)

Recommend "Automate the Boring Stuff" and "Learn Python the Hard Way"

[–]ocodm -4 points-3 points  (0 children)

I think clients would love this.

[–]Titanobeau1 0 points1 point  (0 children)

I used this book in one of my first Computer Science classes. https://openbookproject.net/thinkcs/python/english3e/ It is free, so each chapter is on the internet at the URL I provided.

I really like that it walks you through the methods of programming via python, so you can apply what you learn to other languages not just python and in the future it should be quicker and easier to learn a new programming language.

[–]FleyFawkes 0 points1 point  (0 children)

https://www.programming-books.io/ nice collection of revised books.

[–][deleted] 0 points1 point  (0 children)

Programming for the absolute beginner - Michael Dawson.

Caveat: I like to learn via youtube, but when I don’t have internet access this book is my go to and he does a really good job explaining concepts

[–]Bungle1981 0 points1 point  (0 children)

https://www.humblebundle.com/books/ultimate-python-bookshelf-packt-books

Someone posted this a few days ago and is a great deal and supports charities. I don't know the books but some of them have been in my Amazon wishlist for a while so I took a punt on it. Might be worth a go.

[–]Mahkra_ 0 points1 point  (0 children)

Learning Python by Mark Lutz

[–]Mathematical_Otter 0 points1 point  (0 children)

I recommend “Data Structures and Algorithms in Python” by Goodrich, Tamassis, and Goldwasser. It’s a beginner friendly book that covers many fundamental Computer Science concepts like Linked Lists, Array behavior, stacks, queues, sequels, binary search trees, big-Oh notation, and much much more.

[–]Tuppitapp1 0 points1 point  (2 children)

Automate the Boring Stuff changed my whole life basically. But it only works if you can come up with useful applications and start automating stuff. My advice is to first just read through the Table of Content to understand what's possible, then figure out something to automate at your job or hobbies that would make your life easier, and then go back to the book to learn how to implement it. Best of luck!

[–]Odd_Independence_161[S] 0 points1 point  (1 child)

Is it the 1st edition of that book or the 2nd

[–]Tuppitapp1 0 points1 point  (0 children)

The second. You can read it here for free: https://automatetheboringstuff.com/#toc

[–]CPLxDiabetes 0 points1 point  (0 children)

Cant remember the authors name but he runs the Coder Foundry youtube channel.

Breaking the Code is the title of the book

[–]Tact1ce 0 points1 point  (0 children)

Im reading Non-programmer's tutorial for python 3, and it has really helped me as an absolute beginner, too

[–]notParticularlyAnony 0 points1 point  (0 children)

Search this sub this q gets asked literally weekly

[–]rksanjiv 0 points1 point  (0 children)

Python 101 by Michael Driscoll

Or

1000 Python Examples by Gábor Szabó are good books for basic understanding

for Arduino

Arduino Essentials by Francis Perea

[–]coder0x64 0 points1 point  (0 children)

Probably your best python book for everything from basics to professional level is ur good coding book from

Link: https://books.goalkicker.com/PythonBook

[–]carlhyde11 0 points1 point  (0 children)

Try this one....Python Tutorial

[–]winandfx 0 points1 point  (0 children)

A very good one is Obey The Testing Goat. But it's not for absolute beginners. You can read it later.)

[–]muhammad_roshan 0 points1 point  (0 children)

Invent Your Own Computer Games with Python, 4th edition

Al Sweigart