TIL (Today I Learned)

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

Today I learned about the symmetry in indexing from the beginning and end of a list with the bitwise invert operator.

Today I learned how to write the Quicksort algorithm in a weird functional style.

Today I learned about the DARPA network challenge and the power of referral systems.

Today I learned you can use pathlib to read the contents of a file.

Today I learned how the rich comparison protocol and, in particular, how eq works behind the scenes.

Today I learned that Python 3.5+ supports the operator @ for matrix multiplication.

Today I learned that you can use emojis as variable names in Python if you use pythonji.

Today I learned that Python generators can return a value.

Today I learned about the built-in function vars in Python.

Today I learned that the .join method in Python is a two-pass algorithm, and that's why joining a list comprehension is faster than a generator expression.

Today I learned about the math.nextafter method.

Today I learned that files can also be unpacked in Python.

Today I learned strings can also be unpacked in Python.

Today I learned about an algorithm that Python uses to sort out inheritance.

Today I learned about the ICPO rule for attribute lookup in Python.

Today I learned about a fake chess-playing AI from the 1700s.

Today I learned how to do ceiling division in Python just with //.