About This Book
Python’s simplicity lets you become productive quickly, but this often means you aren’t using everything it has to offer. With this hands-on guide, you’ll learn how to write effective, idiomatic Python code by leveraging its best—and possibly most neglected—features. Author Luciano Ramalho takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.
Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.
This book covers:
- Python data model: understand how special methods are the key to the consistent behavior of objects
- Data structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode age
- Functions as objects: view Python functions as first-class objects, and understand how this affects popular design patterns
- Object-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritance
- Control flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packages
- Metaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work
I'd say Corey Schafer's YouTube channel has been a huge help with visualizing and understanding the basics.
Fluent Python by Luciano Ramalho has had an impact on me as well. There's a lot of advanced topics in that book that's out of my level, which I try my best to understand, but there's also tons of good examples for beginners to pick up on.
I've watched hours of CS lectures regarding python. This lecture by Raymond Hettinger helped me break out of some bad practices.
In case you're unaware, or anyone else is loo8for a more substantial book, Fluent Python covers Pythonic usage through 3.5, that should at least get you most of the way there.
There has been many sources. I'll just copy and paste my comment above regarding some of the more helpful sources I've come across.
> I'd say Corey Schafer's YouTube channel has been a huge help with visualizing and understanding the basics.
> Fluent Python by Luciano Ramalho has had an impact on me as well. There's a lot of advanced topics in that book that's out of my level, which I try my best to understand, but there's also tons of good examples for beginners to pick up on.
> I've watched hours of CS lectures regarding python. This lecture by Raymond Hettinger helped me break out of some bad practices.
These two books were bigly for me:
As others have said, Automate the Boring Stuff is a good place to start.
Down the road if you really want to go deep into Python and want an advanced book, Fluent Python is fantastic.