An exploration of why Python doesn't require a 'main' function 6 years ago
Parts of the C runtime library need initialization and this initialization is done before main is called. Interpreters do this before you have a chance to run any user supplied code.