Python Distilled

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"

Expert insight for modern Python (3.6+) coding from the author of Python Essential Reference Python educator Dave Beazley’s concise handbook focuses on the essential core of the Python programming language, with code examples to illuminate how Python works and how to structure programs that can be more easily explained, tested, and debugged. Rather than trying to cover every possible feature and quirk of a 30-year-old language, this pragmatic guide provides a concise narrative related to fundamental programming topics that form the foundation for Python projects of any size including • Data abstraction • Control flow • Program structure • Functions: master functions and functional programming idioms • Objects: control objects and master the "protocols" that define their behavior • Modules: plan for project growth by understanding modules and packages • Generators • Classes: understand classes from both high-level and technical perspectives • I/O handling: proper techniques and abstractions • Dicts "This is a pragmatic book that presents some of the most important topics about the Python programming language in a concise form, designed to make it easier to find out the most relevant information bits in a context where resources abound and frequently are just too overwhelming." ―Victor Domingos, Software Developer, Slim Business Solutions, The No Title® Tech Blog

Author(s): David Beazley
Series: Developer's Library
Edition: 1
Publisher: Pearson
Year: 2021

Language: English
Commentary: Converted from EPUB
Pages: 352
City: Boston, MA
Tags: Programming; Data Structures; Python; Lambda Functions; Object-Oriented Programming; Packages; Generators; Standard Library; Exception Handling

Cover Page
About This eBook
Halftitle Page
Title Page
Copyright Page
Contents
Preface
1. Python Basics
1.1 Running Python
1.2 Python Programs
1.3 Primitives, Variables, and Expressions
1.4 Arithmetic Operators
1.5 Conditionals and Control Flow
1.6 Text Strings
1.7 File Input and Output
1.8 Lists
1.9 Tuples
1.10 Sets
1.11 Dictionaries
1.12 Iteration and Looping
1.13 Functions
1.14 Exceptions
1.15 Program Termination
1.16 Objects and Classes
1.17 Modules
1.18 Script Writing
1.19 Packages
1.20 Structuring an Application
1.21 Managing Third-Party Packages
1.22 Python: It Fits Your Brain
2. Operators, Expressions, and Data Manipulation
2.1 Literals
2.2 Expressions and Locations
2.3 Standard Operators
2.4 In-Place Assignment
2.5 Object Comparison
2.6 Ordered Comparison Operators
2.7 Boolean Expressions and Truth Values
2.8 Conditional Expressions
2.9 Operations Involving Iterables
2.10 Operations on Sequences
2.11 Operations on Mutable Sequences
2.12 Operations on Sets
2.13 Operations on Mappings
2.14 List, Set, and Dictionary Comprehensions
2.15 Generator Expressions
2.16 The Attribute (.) Operator
2.17 The Function Call () Operator
2.18 Order of Evaluation
2.19 Final Words: The Secret Life of Data
3. Program Structure and Control Flow
3.1 Program Structure and Execution
3.2 Conditional Execution
3.3 Loops and Iteration
3.4 Exceptions
3.5 Context Managers and the with Statement
3.6 Assertions and __debug__
3.7 Final Words
4. Objects, Types, and Protocols
4.1 Essential Concepts
4.2 Object Identity and Type
4.3 Reference Counting and Garbage Collection
4.4 References and Copies
4.5 Object Representation and Printing
4.6 First-Class Objects
4.7 Using None for Optional or Missing Data
4.8 Object Protocols and Data Abstraction
4.9 Object Protocol
4.10 Number Protocol
4.11 Comparison Protocol
4.12 Conversion Protocols
4.13 Container Protocol
4.14 Iteration Protocol
4.15 Attribute Protocol
4.16 Function Protocol
4.17 Context Manager Protocol
4.18 Final Words: On Being Pythonic
5. Functions
5.1 Function Definitions
5.2 Default Arguments
5.3 Variadic Arguments
5.4 Keyword Arguments
5.5 Variadic Keyword Arguments
5.6 Functions Accepting All Inputs
5.7 Positional-Only Arguments
5.8 Names, Documentation Strings, and Type Hints
5.9 Function Application and Parameter Passing
5.10 Return Values
5.11 Error Handling
5.12 Scoping Rules
5.13 Recursion
5.14 The lambda Expression
5.15 Higher-Order Functions
5.16 Argument Passing in Callback Functions
5.17 Returning Results from Callbacks
5.18 Decorators
5.19 Map, Filter, and Reduce
5.20 Function Introspection, Attributes, and Signatures
5.21 Environment Inspection
5.22 Dynamic Code Execution and Creation
5.23 Asynchronous Functions and await
5.24 Final Words: Thoughts on Functions and Composition
6. Generators
6.1 Generators and yield
6.2 Restartable Generators
6.3 Generator Delegation
6.4 Using Generators in Practice
6.5 Enhanced Generators and yield Expressions
6.6 Applications of Enhanced Generators
6.7 Generators and the Bridge to Awaiting
6.8 Final Words: A Brief History of Generators and Looking Forward
7. Classes and Object-Oriented Programming
7.1 Objects
7.2 The class Statement
7.3 Instances
7.4 Attribute Access
7.5 Scoping Rules
7.6 Operator Overloading and Protocols
7.7 Inheritance
7.8 Avoiding Inheritance via Composition
7.9 Avoiding Inheritance via Functions
7.10 Dynamic Binding and Duck Typing
7.11 The Danger of Inheriting from Built-in Types
7.12 Class Variables and Methods
7.13 Static Methods
7.14 A Word about Design Patterns
7.15 Data Encapsulation and Private Attributes
7.16 Type Hinting
7.17 Properties
7.18 Types, Interfaces, and Abstract Base Classes
7.19 Multiple Inheritance, Interfaces, and Mixins
7.20 Type-Based Dispatch
7.21 Class Decorators
7.22 Supervised Inheritance
7.23 The Object Life Cycle and Memory Management
7.24 Weak References
7.25 Internal Object Representation and Attribute Binding
7.26 Proxies, Wrappers, and Delegation
7.27 Reducing Memory Use with __slots__
7.28 Descriptors
7.29 Class Definition Process
7.30 Dynamic Class Creation
7.31 Metaclasses
7.32 Built-in Objects for Instances and Classes
7.33 Final Words: Keep It Simple
8. Modules and Packages
8.1 Modules and the import Statement
8.2 Module Caching
8.3 Importing Selected Names from a Module
8.4 Circular Imports
8.5 Module Reloading and Unloading
8.6 Module Compilation
8.7 The Module Search Path
8.8 Execution as the Main Program
8.9 Packages
8.10 Imports Within a Package
8.11 Running a Package Submodule as a Script
8.12 Controlling the Package Namespace
8.13 Controlling Package Exports
8.14 Package Data
8.15 Module Objects
8.16 Deploying Python Packages
8.17 The Penultimate Word: Start with a Package
8.18 The Final Word: Keep It Simple
9. Input and Output
9.1 Data Representation
9.2 Text Encoding and Decoding
9.3 Text and Byte Formatting
9.4 Reading Command-Line Options
9.5 Environment Variables
9.6 Files and File Objects
9.7 I/O Abstraction Layers
9.8 Standard Input, Output, and Error
9.9 Directories
9.10 The print() function
9.11 Generating Output
9.12 Consuming Input
9.13 Object Serialization
9.14 Blocking Operations and Concurrency
9.15 Standard Library Modules
9.15.25 threading Module
9.16 Final Words
10. Built-in Functions and Standard Library
10.1 Built-in Functions
10.2 Built-in Exceptions
10.3 Standard Library
10.4 Final Words: Use the Built-Ins
Index
Code Snippets