Intuitive Python
Productive Development for Projects that Last
by: David Muller
Published | 2021-06-01 |
---|---|
Internal code | dmpython |
Print status | In Print |
Pages | 140 |
User level | Intermediate |
Keywords | Python, software architecture, web programming, code profiling |
Related titles | |
ISBN | 9781680508239 |
Other ISBN |
Channel epub: 9781680508642 Channel PDF: 9781680508659 Kindle: 9781680508628 Safari: 9781680508635 Kindle: 9781680508628 |
BISACs | COM051360 COMPUTERS / Programming Languages / PythonCOM051230 COMPUTERS / Software Development & Engineering / GeneralCOM051230 COMPUTERS / Software Development & Engineering / General |
Highlight
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.
Description
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.
Contents and Extracts
- Preface
- Who This Book Is For
- What’s Inside
- Using the Code in This Book
- 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
- 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
- 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
- Avoiding Traps
- Serializing Python Objects with the pickle Module
- Handling Datetimes with Timezones
- Getting Caught with Sticky Default Arguments
- Wrapping Up
- 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