Yesterday, I picked up a copy of Learning Python 5th Edition (affiliate link). It’s a decent sized textbook. Perhaps a tree. At 1600 pages, this O’Reilly published book covers the fundamentals of Python. It is based on Mark Lutz’s training course. The course is 3 days and costs $12k. Yikes! That will scare away the beginner programmer.
I thought this book would be a great start because Mark Lutz has written the previous Learning Python editions. I like his approach with the book, being based off a classroom environment. My own study approach is primarily self-study as I cannot afford to be in bootcamps or classes very often.
Skimming through the book, it’s full of examples with helpful descriptions. Just exactly what I’m looking for. Education that is in-depth. I’ve tried my hand at some of the more recently popular courses such as Codecademy but found the content leaving me empty and lacking. This is where Learning Python steps in and provides you with everything and the kitchen sink. The book is roughly the equivalent to a full-semester course. That will give you a hint of how much time it would take to learn Python from the beginning. Given, I am not a full-time student this will take me significantly longer than a semester. But all good things come with patience and practice.
Mark Lutz offers some pointers for the true beginners (xl | Preface):
You can learn Python here too, as well as programming itself; but you may need to work a bit harder, and may wish to supplement this text with gentler introductions. If you don’t consider yourself a programmer already, you will probably find this book useful too, but you’ll want to be sure to proceed slowly and work through the examples and exercises along the way. Also keep in mind that this book will spend more time teaching Python itself than programming basics. If you find yourself lost here, I encourage you to explore an introduction to programming in general before tackling this book. Python’s website has links to many helpful resources for beginners.
Why Should I Learn To Code?
So why dive into Python or coding? As I see the IT industry changing, knowing how to code will be one of those skillsets that will always be advantageous. As an IT professional, knowing a bit of code will be essential, if not beneficial, for the job. Software developers positions will grow 30%. But not all of us want to be software developers.
The landscape is changing. Microsoft is building PowerShell into the core of their operating systems. Network Engineering is seeing SDN right around the corner.
An adapted quote from pg 8
Give people a tool, and they’ll code for a day; teach them how to build tools, and they’ll code for a lifetime.
The source code for the book’s exercises are located at http://oreil.ly/LearningPython-5E
Learning Python 5th Edition is broken up into 9 parts
A general overview of Python.
Python’s major built-in object types, dynamic typing, references, keys to using Python well, etc.
Python statements, general syntax model, iterations, and coding alternatives.
Higher-level program structure tools, functions, scoping rules, argument-passing techniques, etc.
Modules, module packages, module reloading, package-relative imports.
Object-oriented tool, the class, OOP.
Exception handling model and statements, development tools, advanced topics such as context managers.
Advanced topics such as Unicode and byte strings, managed attribute tools.
Learning Python, Fifth Edition, by Mark Lutz. Copyright 2013 Mark Lutz, 978-1-4493-5573-9.
What are your thoughts? Are you learning to code?
Let me know by leaving a comment below.