What does __name__ do? I have only seen it paired with __main__ and nothing else.
I know that the classic if __name__ == __main__: defines the behavior when acting as a package vs running as stand-alone.
However what other usages are there for __name__?