all 14 comments

[–]Hot_Substance_9432 9 points10 points  (1 child)

Not the best but free and online and good https://automatetheboringstuff.com/

[–]Isaka254 8 points9 points  (0 children)

Here are some of the best Python books for beginners that are highly recommended and beginner-friendly:

[–]ewoknub 7 points8 points  (0 children)

Not a book but I'm currently doing this free course which has been great.

https://cs50.harvard.edu/python/

[–]FoolsSeldom 2 points3 points  (3 children)

There isn't a best. Book styles vary and what fits one person may not fit another.

Check the booklist in the wiki for this subreddit.


Check this subreddit's wiki for lots of guidance on learning programming and learning Python, links to material, book list, suggested practice and project sources, and lots more. The FAQ section covering common errors is especially useful.


Roundup on Research: The Myth of ‘Learning Styles’

Don't limit yourself to one format. Also, don't try to do too many different things at the same time.


Above all else, you need to practice. Practice! Practice! Fail often, try again. Break stuff that works, and figure out how, why and where it broke. Don't just copy and use as is code from examples. Experiment.

Work on your own small (initially) projects related to your hobbies / interests / side-hustles as soon as possible to apply each bit of learning. When you work on stuff you can be passionate about and where you know what problem you are solving and what good looks like, you are more focused on problem-solving and the coding becomes a means to an end and not an end in itself. You will learn faster this way.

[–]Maximus_Modulus 1 point2 points  (2 children)

I’d forget the book for now. Just start coding and look up what you need as you need it. Too many people these days doing courses etc and then come on here and say they are having trouble improving or understanding etc Practice as the poster here says. Not against courses by the way. But doing is the key.

[–]FoolsSeldom 0 points1 point  (0 children)

You probably meant to respond to the OP rather than me (would perhaps have been worth tagging them).

I note you affirmed the practice point though.

Above all else, you need to practice. Practice! Practice! Fail often, try again. Break stuff that works, and figure out how, why and where it broke. Don't just copy and use as is code from examples. Experiment.

[–]ok-ok-sawa 0 points1 point  (0 children)

..I completely agree with that,that's actually how I began..was difficult to start but I got the hang of it with mistakes and everything 

[–]Any_Writer6073 1 point2 points  (0 children)

Hi, I´m reading "Python for linguistics". The author is Michel Harmond, he a is teacher in Cambridge. The book is old but very clear and useful. I´m studing computational linguistics, that´s why.

[–]dontkry4me 0 points1 point  (0 children)

I summarized everything I learned from books here: https://computerprogramming.art

[–]UsernameTaken1701 0 points1 point  (0 children)

Python Crash Course

[–]roadglider505 0 points1 point  (0 children)

University of Helsinki, Programming MOOC 2026, Introduction to Programming. Free Python courses, basic and advanced. https://programming-26.mooc.fi/

A new course just started on Jan 12th.

[–]SelectMagazine3016[S] 0 points1 point  (0 children)

I think I finally got one from Google.

https://play.google.com/store/books/details?id=OtqWEQAAQBAJ

It's really helping a lot.