Intuitive Python: Productive Development for Projects that Last

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Developers power their projects with Python because it emphasizes readability, ease of use, and access to a meticulously maintained set of packages and tools. The language itself continues to improve with every release: writing in Python is full of possibility. But to maintain a successful Python project, you need to know more than just the language. You need tooling and instincts to help you make the most out of what's available to you. Use this book as your guide to help you hone your skills and sculpt a Python project that can stand the test of time. No matter your experience level or background, Python's batteries-included standard library and rich third-party ecosystem provide a solid foundation to build your projects on. With the right intuition and background knowledge, you can take advantage of all the power Python offers. Take a guided tour of some of Python's high points to craft a project that you can sustain and build on for a long time. Run static analysis tools to detect and eliminate classes of bugs before you run code. Experiment with Python's concurrency model and develop patterns for using Python's thread and process abstractions to their full potential. Introduce yourself to Python's type hinting system: mypy. Download and run third-party Python packages and do so safely without compromising on security. Debug code using Python's built in debugger, and try procedures out in the interactive console. Run your code under new versions of the Python interpreter to unlock performance and usability improvements. All along the way, sharpen your Python instincts so you can keep your code clean and reduce the chance of bugs. Mine Python for all you can by playing to its strengths and embracing patterns that harness its potential. What You Need: The books assumes you have some experience programming in any language (not necessarily Python). To run the code presented in the book, you'll need a Python environment which you can download from https://www.python.org/downloads/.

Author(s): David Muller
Edition: 1
Publisher: Pragmatic Bookshelf
Year: 2021

Language: English
Commentary: Vector PDF
Pages: 136
City: Raleigh, NC
Tags: Multithreading; Python; Concurrency; Docker; Serialization; Best Practices; SQLite; asyncio; Standard Library

Cover
Table of Contents
Acknowledgments
Preface
Who This Book Is For
What’s Inside
Using the Code in This Book
1. Diving into Life with Python
Setting Up Your Environment and Using This Book’s Companion Docker Image
Using Python’s Interactive Console to Run Programs
Try Out Different Versions of Python with Docker
Investigating with pdb Breakpoints
Detecting Problems Early
Formatting and Styling Your Code Consistently
Wrapping Up
2. Shifting Up with the Standard Library
Using the collections Module for Concise Code
Creating Temporary Workspaces with tempfile
Calling Other Programs with subprocess
Using Python’s Built-In Database with sqlite3
Profiling Python Code with cProfile
Wrapping Up
3. Ramping Up with Concurrent Code
Approach Concurrency with Caution
Meet Threads and Processes
Using concurrent.futures to Run Code Concurrently
Choosing ThreadPoolExecutor or ProcessPoolExecutor
Staying Safe When Writing Concurrent Code
Building with an Alternate Model: asyncio
Wrapping Up
4. Avoiding Traps
Serializing Python Objects with the pickle Module
Handling Datetimes with Timezones
Getting Caught with Sticky Default Arguments
Wrapping Up
5. Standing Guard When Python Breaks Free
Installing Third-Party Packages Securely with pip
Maintaining Privacy in a Public World
Keeping Your Source Organized
Dodging Wildcard Variable Shadowing
Wrapping Up