Welcome to Brad’s Python Notes (PyNotes!).
This blog is a collaboration between me, the python documentation and my Claude Code pair-writer/programmer who is helping me with drafting the original outline for each post. After that I can extend, adjust and tweak the posts to build a much more diverse and comprehensive blog than I would otherwise have time or energy to build.
Recent posts
The enumerate()
function adds automatic counters to any iterable, returning tuples of (index, value) pairs that make loops cleaner and more Pythonic.
The concurrent.futures
module provides a simple, high-level interface for executing tasks concurrently using either threads or processes, making parallel programming accessible without dealing with low-level threading or multiprocessing details.
The math module provides mathematical functions like sin(), cos(), sqrt(), and constants like pi and e for scientific and mathematical computations.
The math.isclose() function
solves floating-point comparison issues by checking if two numbers are “close enough” rather than exactly equal, essential for robust numerical code.
PEP 485 introduced math.isclose()
to solve the fundamental problem of comparing floating-point numbers by testing if two values are “approximately equal” rather than exactly equal.
A compilation of the most fascinating “Interesting!” facts from my Python blog posts to date, spotlighting three and then building some collections of other interesting features.
The gzip module provides seamless compression and decompression of files using the gzip format, reducing file sizes by 60-90% while maintaining a simple interface compatible with standard file operations.
PEP 465 introduced the @ operator for matrix multiplication, solving a major readability problem in scientific Python code by providing a dedicated operator that makes mathematical formulas translate directly into code.
The textwrap module provides functions for formatting text blocks with intelligent line wrapping, indentation control, and paragraph formatting - perfect for creating clean output, documentation, and user interfaces.
PEP 544 introduces Protocol classes that enable structural subtyping (static duck typing) - type checking based on what methods an object has rather than its inheritance hierarchy, making Python’s type system more flexible and duck-typing friendly.
The struct module converts between Python values and C structs represented as bytes objects, enabling binary data processing for network protocols, file formats, and hardware communication with precise control over byte layout.