This project started on the 24th of May, 2023. Wish me luck!
- Function signatures
- Annotations and type hinting
- Virtual environments and pip
- The requirements.txt file
- Library recommendation: Black
- Decorators
- The functools wraps decorator
- The Match Statement
- Library recommendation: docopt-ng
- F-strings
- Packing and Unpacking Sequences and Mappings
- Exception Handling
- Interfaces with ABCs
- Context Managers
- Operator Overloading
- The NamedTuple
- Lambda Functions
- The collections defaultdict
- The Iteration Protocol
- Generators
- From Generators To Coroutines
- Asyncio Basics
- Async Iterators and Context Managers
- Asyncio Tasks
- Never Import With *
- Assignment Expressions
- Properties
- Pathlib and the Path Object
- Serialization With Pickle
- Functools Caching
- Formatting Tracebacks
- Qualified Names
- JSON For Arbitrary Data Structures
- Dynamic Attributes in Python
- Dot Notation For Numbers
- The Descriptor Protocol
- Callable Objects
- Dot Notation and Methods
- Classmethods and Staticmethods
- Slicing and Indexing
- Set Collections
- Hashing and Mapping
- Dataclasses
- Introduction To Numpy
- Numpy N-Dimensional Arrays
- Numpy Broadcasting
- Numpy Data Types
- Numpy Views And Copies
- Numpy - Combining Multidimensional Arrays
- Numpy Advanced Indexing
- Numpy Masks
- Numpy Random Generators
- Numpy I/O And Compression
- Numpy Dimension Expanding And Broadcasting
- Using Python As Linux Scripts
- Using Python As Linux Scripts - Part 2
- Using Python As Linux Scripts - Part 3
- Handling Default Arguments
- Name Bindings In Nested Scopes
- Local And Global Namespaces
- Library Recommendation: Loguru
- Temporary Files And Folders
- User Data Directories
- For Else
- Swapping Variables With Tuple Unpacking
- Dictionary Default Values
- Using The Python REPL As A Calculator
- The __init__ Module
- Antigravity
