Difference between revisions of "Python"
From jWiki
Jump to navigationJump to search
Line 30: | Line 30: | ||
* [https://www.youtube.com/watch?v=bAcfPzxB3dk Machete-mode Debugging - Ned Batchelder, PyCon 2016] | * [https://www.youtube.com/watch?v=bAcfPzxB3dk Machete-mode Debugging - Ned Batchelder, PyCon 2016] | ||
* [https://www.youtube.com/watch?v=UANN2Eu6ZnM Raymond Hettinger "The Mental Game of Python", PyBay2019] | * [https://www.youtube.com/watch?v=UANN2Eu6ZnM Raymond Hettinger "The Mental Game of Python", PyBay2019] | ||
* [https://www.youtube.com/watch?v=wf-BqAjZb8M Beyond PEP8] - Raymond Hettinger talking about foolish consistency | |||
* [https://www.youtube.com/watch?v=5JnMutdy6Fw Pandas from the Ground up - PyCon 2015] | |||
== Explanations == | == Explanations == | ||
Line 51: | Line 53: | ||
** see also the older [https://scipy.github.io/old-wiki/pages/EricsBroadcastingDoc "Eric's broadcasting doc"] | ** see also the older [https://scipy.github.io/old-wiki/pages/EricsBroadcastingDoc "Eric's broadcasting doc"] | ||
* [https://mas-dse.github.io/DSE200/cheat_sheets/1_python/6_2_NumPy_for_MATLAB_users.pdf MATLAB to Numpy cheatsheet] | * [https://mas-dse.github.io/DSE200/cheat_sheets/1_python/6_2_NumPy_for_MATLAB_users.pdf MATLAB to Numpy cheatsheet] | ||
== Misc. == | == Misc. == | ||
Line 60: | Line 61: | ||
* [https://azhpushkin.me/posts/python-c-under-the-hood Under the hood of calling C/C++ from Python] | * [https://azhpushkin.me/posts/python-c-under-the-hood Under the hood of calling C/C++ from Python] | ||
* [https://www.evanjones.ca/memoryallocator/ Python's Memory Allocator] - some notes on arena allocation in CPython | * [https://www.evanjones.ca/memoryallocator/ Python's Memory Allocator] - some notes on arena allocation in CPython | ||
* [https://realpython.com/cpython-source-code-guide/ Your Guide to the CPython Source Code] | * [https://realpython.com/cpython-source-code-guide/ Your Guide to the CPython Source Code] | ||
* [https://arpitbhayani.me/blogs/super-long-integers "How python implements super long integers?"] - an excellent article about how CPython implements arbitrarily large integers. | * [https://arpitbhayani.me/blogs/super-long-integers "How python implements super long integers?"] - an excellent article about how CPython implements arbitrarily large integers. |
Revision as of 02:57, 13 February 2022
🐍🐍🐍
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
- Beyond PEP8 - Raymond Hettinger talking about foolish consistency
- Pandas from the Ground up - PyCon 2015
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
- 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
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
- 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
- Python's Hidden Regular Expression Gems (particularly nice because of the
Scanner
class therein)