Python is a great tool to automate stuff because of its high productivity and the large ecosystem of excellent libraries and tools which you can easily use in your own programs. Python is not a difficult language to get started with and you can go quite far without spending too much time learning the ins and outs of the language. However there comes a point in your journey as a developer where you might be best off to learn Python automation in detail with all its nuances in more detail in order to write more organized and efficient code as well
as to understand the code written by others or the open source community. Let’s discuss some of the best books
that can help you become better at automation with Python.
Best Books to Learn Python Automation
Learning Python by Mark Lutz
This is one of the best books out there when it comes to teaching the fundamentals of Python in depth. The book is
very comprehensive and deals with all the topics a person unaware of the details of working with Python might need.
Learning the concepts mentioned in this book thoroughly should really bolster your Python understanding and be
completely sufficient to understand most of the Python code out in the wild and to write idiomatic and efficient
Programming Python by Mark Lutz
If the part 1 of Programming Python teaches you about the fundamentals of the Python language, part 2 is about applying the concepts of Python in real world. The book is divided into different domains, encompassing the most common use cases of Python – in system scripting, networking, web and so on.
Automate the Boring Stuff with Python by Al Sweigart
While the books mentioned above excellent at teaching you the ins and outs of Python from a theoretical perspective,
this book will teach you how to apply your expertise in Python on practical projects in a completely hands-on way.
It will also get you familiar with some of the most commonly used third party libraries and tools in Python ecosystem as well as many other practical details involved in building a real world project.
Test Driven Development with Python
While the other books mentioned till now talk about the specific concepts or features in Python and writing code for specific use cases, this book deals with the broader picture of software development, and specifically a particular approach to software development called test-driven development. It not only does a great job of instilling the mindset of test-driven development which can be a great ability to have as a developer, but it will also teach you the workflow involved in writing software in the real world including in a team setting. The book teaches you some essential practical skills such as using git and when to commit or not commit your code and the likes, deploying your code to the cloud and so on.
Head First Python
If you’re looking for a more fun to read and hands-on way of learning the basics of Python, then this book will probably be great for you. It goes over the basics of Python gradually in an extremely hands-on and tutorial-like manner and keeps the topics short and simple. If you want to avoid getting bogged down by dry text and want a lighter approach to learning the basics of Python then this is the right book for you!
Next Steps to Learn Python Automation
Once you have read some of these books or the parts of them you were most interested in, it’s natural for many developers to feel confused what their next step should be. This is a natural feeling when one transitions from one level of mastery of a topic to another. However in this case, I believe the solution is just to work on real world projects that interest you. It’s fine even if a similar project already exists or the idea doesn’t seem like the most awesome one in the world. The important thing is to apply your skills on a project that you personally find interesting and are excited by. You might also want to check out the article on the most popular Python automation tools to get an idea of how Python is being used to solve real world use cases.
Another opportunity for you to step up could be start working in a team rather than on your personal projects. The open source world is teeming with opportunities where you could contribute and learn to work as a member of team. And there is enough space for beginner or intermediate developers as well to contribute meaningfully in such projects. If you get stuck then communities like Stack Overflow and r/python are your friends. All the best in your journey to learn Python automation!