Що в Python означає "i" у розширенні .pyi?
У PEP-484 у ньому згадується .pyi - це "файл заглушки", але немає мнемонічної допомоги щодо розширення. То чи "i" означає "Включити"? "Впровадження"? "Інтерфейс"?
Що в Python означає "i" у розширенні .pyi?
У PEP-484 у ньому згадується .pyi - це "файл заглушки", але немає мнемонічної допомоги щодо розширення. То чи "i" означає "Включити"? "Впровадження"? "Інтерфейс"?
pyi.
Відповіді:
Я думаю, що iв .pyiрозшифровується як "Інтерфейс"
Визначення інтерфейсу в Java :
Інтерфейс у мові програмування Java - це абстрактний тип, який використовується для вказівки поведінки, яку повинні реалізовувати класи
Кожен модуль Python представлений
.pyi"заглушкою". Це звичайний файл Python (тобто його може інтерпретувати Python 3), за винятком того, що всі методи порожні .
Файл заглушок містить лише опис загальнодоступного інтерфейсу модуля без будь-яких реалізацій.
Оскільки "Інтерфейсів" у Python не існує (див. Це запитання SO між класом Abstract та Interface ), я думаю, що дизайнери мали намір виділити для нього спеціальне розширення.
pyiреалізує файл "заглушки" (визначення від Мартіна Фаулера )
Заглушки : надайте готові відповіді на дзвінки, зроблені під час тесту, зазвичай взагалі не реагуючи ні на що, окрім того, що запрограмовано для тесту.
Але люди більше знайомі з інтерфейсами, ніж із "заглушеними" файлами, тому було простіше вибрати .pyi, аніж .pysуникнути зайвої плутанини.
Очевидно, PyCharm створює файл .pyi для власних цілей:
Файли * .pyi використовуються PyCharm та іншими інструментами розробки, щоб надати більше інформації, наприклад підказки типу PEP 484, ніж вона може отримати із самоаналізу типів та методів розширень. Вони не призначені для імпорту, виконання або використання з будь-якою іншою метою, крім надання інформації інструментам. Якщо ви не використовуєте інструмент, який використовує файли .pyi, тоді ви можете безпечно ігнорувати цей файл.
Див .: https://www.python.org/dev/peps/pep-0484/ https://www.jetbrains.com/help/pycharm/2016.1/type-hinting-in-pycharm.html
Цей коментар знайдено у: python27/Lib/site-packages/wx/core.pyi
iв.pyi означає «інтерфейс».
.pyiРозширення було вперше згадано в цьому питанні нитки GitHub , де JukkaL каже:
Я б, напевно, вважав за краще розширення з однією лише крапкою. Це також має бути те, що не використовується (це не повинно використовуватися cython тощо). .pys, здається, використовується в Windows (або був). Можливо .pyi, де я позначає визначення інтерфейсу?
pyiрозширення використовується для Cognos Model Files. Можливо, ви переглядаєтеpycфайл із іншим розширенням, який є компільованим Python Script. Спробуйте порівняти контрольну суму з фактичнимpycфайлом, і тоді ви знаєте, що це принаймні двійковий файл.