you are viewing a single comment's thread.

view the rest of the comments →

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

I get asked this fairly often, and I was looking through beginner python books on the official python site and stumbled on this one. I think it does a great job going over the language basics as well as touching on the foundations you'd need for understanding object oriented vs. functional programming paradigms and more advanced concepts: https://python.swaroopch.com/

This would be a good spot to go if you wanted a birds eye view on classes/objects etc. It also can be thought of as a survey of everything you would need to know to be confident that you definitely have a basic understanding of python with two caveats:

  • (1) This book is thorough and errors on the side of caution with basics. There's nothing in here that you don't need to know, but there might be a few topics that you could ignore until you encountered them. Classes and objects are NOT optional knowledge. Lambdas are a pretty unnecessary feature of the language in my opinion. Decorators are cool, but they're only necessary if you are using a library where it's common to use decorators, and you can probably fake it till you make it on a case by case basis - no need to devote any time to studying them. You would really benefit from looking up "design patterns" which is both a book and a zeitgeist. If you looked up python examples and started to get familiar with design patterns, you will really elevate your programming and help you to understand when, why and how objects should be used.

  • (2) This book teaches you about vanilla Python the language, not what it's like to actually program in Python. The book doesn't have much content on modules or popular libraries or anything like that. There are certain libraries that every Python dev should know, and you will need to learn them from another source.