Use advanced features of Python to write high-quality, readable code and packages
Key Features
Extensively updated for Python 3.10 with new chapters on design patterns, scientific programming, machine learning, and interactive Python
Shape your scripts using key concepts like concurrency, performance optimization, asyncio, and multiprocessing
Learn how advanced Python features fit together to produce maintainable code
Book Description
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
What you will learn
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
Who this book is for
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
Table of Contents
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
0 Comments:
Post a Comment