While is possible to use `if __name__ == '__main__':` several times in the same script, your proposed magic function `def __main__()` cannot be redefined. Not to speak about lexical scope differences between one approach and the other.

So your proposal is reducing features instead of expanding them. 


Jose Veiga