
Mastering Python: Write powerful and efficient code using the full range of Python's capabilities, 2nd Edition
Category
Author
Publication
Packt Publishing
Even if you find writing Python code easy, writing code that is efficient, maintainable, and reusable is not so straightforward. Many of Python's capabilities are underutilized even by more experienced programmers. Mastering Python, Second Edition, is an authoritative guide to understanding advanced Python programming so you can write the highest quality code. This new edition has been extensively revised and updated with exercises, four new chapters and updates up to Python 3.10.
Revisit important basics, including Pythonic style and syntax and functional programming. Avoid common mistakes made by programmers of all experience levels. Make smart decisions about the best testing and debugging tools to use, optimize your code's performance across multiple machines and Python versions, and deploy often-forgotten Python features to your advantage. Get fully up to speed with asyncio and stretch the language even further by accessing C functions with simple Python calls. Finally, turn your new-and-improved code into packages and share them with the wider Python community.
If you are a Python programmer wanting to improve your code quality and readability, this Python book will make you confident in writing high-quality scripts and taking on bigger challenges
Review
"Reading Rick's "Mastering Python" is like having an expert Python programmer sit with you and show you how to get from "learning" to mastering Python."
Anthony Shaw, Python, Cloud, and OSS at Microsoft
About the Author
Rick van Hattem is an experienced programmer, entrepreneur, Stack Overflow veteran, and software/database architect with more than 20 years of programming experience, including 15 years with Python. He has extensive experience with high-performance architecture featuring large amounts of concurrent users and/or data. Rick has founded several start-ups and has consulted many companies, including a few Y Combinator start-ups and several large businesses
- Write beautiful Pythonic code and avoid common Python coding mistakes
- Apply the power of decorators, generators, coroutines, and metaclasses
- Use different testing systems like pytest, unittest, and doctest
- Track and optimize application performance for both memory and CPU usage
- Debug your applications with PDB, Werkzeug, and faulthandler
- Improve your performance through asyncio, multiprocessing, and distributed computing
- Explore popular libraries like Dask, NumPy, SciPy, pandas, TensorFlow, and scikit-learn
- Extend Python's capabilities with C/C++ libraries and system calls
This book will benefit more experienced Python programmers who wish to upskill, serving as a reference for best practices and some of the more intricate Python techniques. Even if you have been using Python for years, chances are that you haven't yet encountered every topic discussed in this book. A good understanding of Python programming is necessary
- Getting Started One Environment per Project
- Interactive Python Interpreters
- Pythonic Syntax and Common Pitfalls
- Pythonic Design Patterns
- Functional Programming Readability Versus Brevity
- Decorators Enabling Code Reuse by Decorating
- Generators and Coroutines Infinity, One Step at a Time
- Metaclasses Making Classes (Not Instances) Smarter
- Documentation How to Use Sphinx and reStructuredText
- Testing and Logging Preparing for Bugs
- Debugging Solving the Bugs
- Performance Tracking and Reducing Your Memory and CPU Usage
- asyncio Multithreading without Threads
- Multiprocessing When a Single CPU Core Is Not Enough
- Scientific Python and Plotting
- Artificial Intelligence
- Extensions in C/C++, System Calls, and C/C++ Libraries
- Packaging Creating Your Own Libraries or Applications