¿Cómo puedo convertir una cadena a int o flotante con prioridad en int?

No pude encontrar otra respuesta cuando quería esto, así que pensé en publicar mi propia solución para cualquier otra persona y también obtener correcciones si he hecho algo mal.

Tuve que hacer un analizador automático de archivos de configuración y preferí hacer números int si es posible y flotante si no. La conversión usual try / except no funciona por sí sola, ya que cualquier flotador se convertirá en un int.

Para aclarar como alguien preguntó, el caso es básicamente convertir números como la persona que escribió los datos del archivo de configuración pretendía que fueran. Entonces, cualquier cosa con decimales probablemente esté destinada a ser un flotador. Además, creo que float puede ser peligroso para algunos operadores (por ejemplo, ==, <,>) debido a la naturaleza de los números de coma flotante, y int se convertirá en flotante cuando sea necesario. Por lo tanto, prefiero que los números permanezcan en int cuando sea posible. No es una gran cosa, solo como una especie de convención para mí.

Respuestas a la pregunta(5)

Su respuesta a la pregunta