Saltar al contenido

¿Qué representa “i” en la extensión Python .pyi?

Mantén la atención ya que en este post hallarás la respuesta que buscas.

Solución:

creo que el i en .pyi significa “Interfaz”

Definición de interfaz en Java:

Una interfaz en el lenguaje de programación Java es un tipo abstracto que se usa para especificar un comportamiento que las clases deben implementar.

  • Desde el repositorio github de Python mecanografiado:

Cada módulo de Python está representado por un .pyi “talón”. Este es un archivo Python normal (es decir, puede ser interpretado por Python 3), excepto que todos los métodos están vacíos.

  • En el repositorio ‘Mypy’, mencionan explícitamente los archivos “stub” como interfaces públicas:

Un archivo de resguardo solo contiene una descripción del interfaz pública del módulo sin ninguna implementación.

Debido a que las “Interfaces” no existen en Python (vea esta pregunta SO entre la clase Abstract y la Interfaz), creo que los diseñadores tenían la intención de dedicarle una extensión especial.

pyi implementa el archivo “stub” (definición de Martin Fowler)

Talones: proporciona respuestas predeterminadas a las llamadas realizadas durante la prueba, que por lo general no responden a nada fuera de lo programado para la prueba.

Pero la gente está más familiarizada con las interfaces que con los archivos “stub”, por lo que fue más fácil elegir .pyi en vez de .pys para evitar confusiones innecesarias.

Aparentemente, PyCharm crea un archivo .pyi para sus propios fines:

PyCharm y otras herramientas de desarrollo utilizan los archivos * .pyi para proporcionar más información, como sugerencias de tipo PEP 484, de la que puede extraer de la introspección de tipos y métodos de extensión. No están destinados a ser importados, ejecutados o utilizados para ningún otro propósito que no sea proporcionar información a las herramientas. Si no utiliza una herramienta que utilice archivos .pyi, puede ignorar este archivo de forma segura.

Ver: https://www.python.org/dev/peps/pep-0484/ https://www.jetbrains.com/help/pycharm/2016.1/type-hinting-in-pycharm.html

Este comentario fue encontrado en: python27/Lib/site-packages/wx/core.pyi

El i en .pyi significa “interfaz”.

El .pyi La extensión se mencionó por primera vez en este hilo de problemas de GitHub donde JukkaL dice:

Probablemente prefiera una extensión con un solo punto. También debe ser algo que no esté en uso (no debería ser usado por cython, etc.). .pys parece usarse en Windows (o se usaba). ¿Quizás .pyi, donde yo significa una definición de interfaz?

Ten en cuenta dar difusión a este escrito si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *