Python
From jWiki
Jump to navigationJump to search
🐍🐍🐍
Official documentation
- Built-in Functions
- Format Specification Mini-Language - for string formatting
- Python's formal guidance on dunders as a reserved class of identifier
- Unpacking Argument Lists
Python Enhancement Proposals (PEPs)
Here in no particular order are some PEPs I find to be interesting reading
- PEP 1 - PEP Purpose and Guidelines (i.e. "what the heck is a PEP?")
- PEP 0 - Index of all PEPs
- PEP 8 - Style Guide for Python Code
- PEP 257 - Docstring Conventions
- PEP 602 - Annual Release Cycle for Python
- PEP 636 - Structural Pattern Matching: Tutorial
- PEP 517 - A build-system independent format for source trees - Information on the modern organization of Python packaging, namely the division of concerns between:
- integration frontends ("a tool that...attempts...to satisfy [a set of package requirements]")
- build frontends ("a tool that...builds wheels from [source trees/distributions]")
- build backends (the thing that actually does the building, at the request of the build frontend
- PEP 518 - Specifying Minimum Build System Requirements for Python Projects - i.e. _"what the heck is
pyproject.toml
?"_ - PEP 513 - A Platform Tag for Portable Linux Built Distributions - i.e. the
manylinux1
platform target (see PEP 600 for the modern tagging system)
Talks
- Machete-mode Debugging - Ned Batchelder, PyCon 2016
- Raymond Hettinger "The Mental Game of Python", PyBay2019
Explanations
- Python Virtual Environments in Five Minutes
- Python Names and Values - a discussion of how name resolution works in Python (e.g. why Python doesn't have "variables")
- Pragmatic Unicode - a crash-course introduction to text encoding, Unicode, and some of the Python pitfalls
- Weird Python Integers
- (mirror: https://jamesgerity.com/backup/call-by-object.htm Python's calling model is "Call By Object"
Interesting libraries
SciPy stack
- Python visualization landscape
- SciPy lectures
- Numpy ndarray structure under the hood
- Numpy: Array Indexing
- Numpy: Broadcasting
- see also the older "Eric's broadcasting doc"
- MATLAB to Numpy cheatsheet
- Pandas from the Ground up - PyCon 2015
Misc.
- The Python Control Flow Graph - Article showing how to build a tool to visualize the CFG of a Python program
- Mailing list discussion of adding a TOML parser to the standard library - tl;dr it's still a mess,
toml
isn't maintained enough,tomlkit
does too much.tomli
seems to be the leading favorite. - Why you should use
python -m pip
- Under the hood of calling C/C++ from Python
- Python's Memory Allocator - some notes on arena allocation in CPython
- Beyond PEP8 - Raymond Hettinger talking about foolish consistency
- Your Guide to the CPython Source Code
- "How python implements super long integers?" - an excellent article about how CPython implements arbitrarily large integers.
- Common Python Gotchas
- Think Python
- Automate the Boring Stuff with Python
- (particularly nice because of the
Scanner
class therein Python's Hidden Regular Expression Gems