TIL (Today I Learned)

The TIL series of articles contains very short articles documenting something I learned “today”.

Today I learned how to debug the new Python REPL with _pyrepl.trace and the environment variable PYREPL_TRACE.

Today I learned how to fix an issue with Ctrl+left and Ctrl+right not working in the new Python REPL on MacOS.

Today I learned the difference between __getattr__ and __getattribute__.

You can use the Python built-in function iter with two arguments to create an iterator from a function.

Today I learned how to order the values of a dictionary according to an iterable of keys.

Today I learned how to create git aliases in my .gitconfig file.

Today I learned how to get the size of the terminal your code is running on.

Today I learned how to automatically push code changes while I'm doing live coding, for example while teaching.

Today I learned how to use named tuples to improve readability and flexibility of test parametrisations in pytest.

Today I learned about the parameter match used in pytest.raises.

Today I learned how to use the function operator.methodcaller.

Today I learned how to use the dunder method __init_subclass__ to be notified when a class is subclassed.

Today I learned how to issue user warnings like DeprecationWarnings or SyntaxWarnings.

Yesterday I spent the whole day tryint to patch a module global. This is what I ended up with.

Today I learned how to automatically delete local git branches that have been merged already.

Today I learned how many soft keywords Python has and what they are.

Today I learned that the underscore _ is a soft keyword in Python.

Today I learned that you can run custom Python code when Python starts-up, before running other scripts or programs.

Today I learned that Python and other programming languages have negative zero, -0.0.

Today I learned about the Python 3.12 type statement you can use to create type aliases.