Solución:
0 y 1 son los códigos de salida.
exit(0)
significa una salida limpia sin errores / problemas
exit(1)
significa que hubo algún problema / error / problema y es por eso que el programa se está cerrando.
Esto no es específico de Python y es bastante común. Un código de salida distinto de cero se trata como una salida anormal y, a veces, el código de error indica cuál fue el problema. Un código de error cero significa una salida exitosa.
Esto es útil para otros programas, shell, llamador, etc. para saber qué sucedió con su programa y proceder en consecuencia.
Esto determina el estado de salida del programa cuando termina de ejecutarse (generalmente, 0 para éxito y 1 para error).
No es exclusivo de Python, y el efecto exacto depende de su sistema operativo y de cómo se llame al programa (aunque el 99% de las veces, si solo está ejecutando scripts de Python, no importa).
La convención estándar para todos los programas C, incluido Python, es para exit(0)
para indicar éxito, y exit(1)
o cualquier otro valor distinto de cero (en el rango 1..255) para indicar falla. Cualquier valor fuera del rango 0..255 se trata módulo 256 (el estado de salida se almacena en un valor de 8 bits). A veces, eso se tratará como firmado (por lo que es posible que vea -128, -127, etc.) pero más generalmente se trata como sin firmar.
Este estado está disponible para el código que invocó a Python. Esta convención se aplica en todas las plataformas, aunque el significado del estado de salida distinto de cero puede variar en diferentes plataformas.