Зачем в Python .pyi файлы и чем они полезны? Stub файлы в Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024

ความคิดเห็น • 247

  • @ИванИваныч-н3у
    @ИванИваныч-н3у 4 ปีที่แล้ว +87

    Белый фон жёстко бьёт по глазам, когда смотришь в темноте особенно. Старый был лучше намного.

    • @t0digital
      @t0digital  4 ปีที่แล้ว +5

      Да, больше так не будем

    • @RomaxSinergy
      @RomaxSinergy 3 ปีที่แล้ว +1

      Это в хромакей забыл текстуру

  • @qbmain1487
    @qbmain1487 4 ปีที่แล้ว +60

    Белый фон. Вот, что значит "попал в рай без очереди"

    • @ni55an
      @ni55an 4 ปีที่แล้ว +7

      Хромакей для расистов

    • @engsara1610
      @engsara1610 4 ปีที่แล้ว

      На аве у тебя главная героиня в аниме: Девушка на час?

    • @qbmain1487
      @qbmain1487 4 ปีที่แล้ว +1

      @@engsara1610 да

  • @kennethdarlington
    @kennethdarlington 4 ปีที่แล้ว +47

    Алексей: % рассказывает про pyi файлы в python %
    Зрители: Стаканчик! Я_вижу_стаканчик! Как отвести взгляд от стаканчика? 🍵😨

    • @neodzen
      @neodzen 4 ปีที่แล้ว +10

      никак, это нативная интеграция :)

    • @maximmashkin341
      @maximmashkin341 4 ปีที่แล้ว

      а что с ней не так то?

    • @RomaxSinergy
      @RomaxSinergy 3 ปีที่แล้ว

      - Видишь стаканчик ? И я вижу. А его нет.

  • @MA-channel1
    @MA-channel1 3 ปีที่แล้ว +1

    Рисковый номер! Впервые на арене Алексей в приветствии не называет всех зрителей котами-котонами!

  • @olegmlavets5216
    @olegmlavets5216 4 ปีที่แล้ว +35

    Хотелось бы услышать от тебя об различных реализациях Пайтона, думаю многим будет интересно :)

    • @x-neimi4493
      @x-neimi4493 4 ปีที่แล้ว

      +
      Вот реализация на JS например, позволяет python в вебе использовать. Или реализация на Rust, в которой насколько я знаю, python код получится скомпилировать

  • @C0oo1D
    @C0oo1D 4 ปีที่แล้ว +5

    Не все пользуются колокольчиками, и я один из них.
    Но я не пропускаю видео, т.к. подписок, еще и часто публикующих - не так много)

  • @andrey6104
    @andrey6104 4 ปีที่แล้ว +2

    Комментарий от python разработчика из Сибири.
    Видео хорошие, keep it up!

  • @govdamikhaylo4183
    @govdamikhaylo4183 4 ปีที่แล้ว +7

    Можете снять видос как вы просто делаете какой-то проект на django если не сложно. Я буду очень рад:)

  • @nygeJIbTB
    @nygeJIbTB 4 ปีที่แล้ว +3

    Пушка! Продолжай радовать нас полезной инфой)
    Максимально полезная инфа ! :)

  • @RustamGuliev
    @RustamGuliev 4 ปีที่แล้ว +18

    Добрый день! Спасибо за видео. Парочка вопросов:
    * Обязан ли pyi файл называться также, как тот файл, который мы описываем?
    * Как описывать чужую библиотеку, если я не могу класть свои .pyi файлы внутрь библиотеки с таким же названием?

    • @dmytrokorbanytskyi1586
      @dmytrokorbanytskyi1586 4 ปีที่แล้ว +2

      теоретически, мы можем импортировать необходимые методы из библиотеки в такой utils-модуль и для него уже создать *.pyi файл.

    • @alexs7931
      @alexs7931 4 ปีที่แล้ว

      В TypeScript например тайп хинтинги не ограничиваются файлом, ide парсит хинтинг файлы, и сопоставляет хинтинги с обычным js, по имени функции или класса.

  • @ola_amirova
    @ola_amirova 4 ปีที่แล้ว +1

    Супер! Спасибо! Ждём новую рубрику)

    • @ola_amirova
      @ola_amirova 4 ปีที่แล้ว

      До до крутые

  • @wandos777
    @wandos777 2 ปีที่แล้ว

    пришел на этот видос с видоса про типизированный пайтон и когда увидел реализацию стаб файлов, точнее как именно они работают и мягко говоря охренел))
    какое то время понадобится, чтоб принять новую реальность :D

  • @ansor9775
    @ansor9775 4 ปีที่แล้ว +1

    Круто, как всегда. Ждём новую рубрику и побольше бы таких фишечек. Спасибо за полезный видос.

  • @МихаилКадочников-р2е
    @МихаилКадочников-р2е 3 ปีที่แล้ว

    Агонь! Вообще агонь!

  • @ФаррухбекУлугбеков
    @ФаррухбекУлугбеков 3 ปีที่แล้ว

    Спасибо за видео!

  • @ГамзатКлычев
    @ГамзатКлычев ปีที่แล้ว

    Всё доходчиво!!! Подача материала супер. Успехов и 1 000 000 пользователей.

    • @t0digital
      @t0digital  ปีที่แล้ว

      Спасибо!

  • @oZopHuk
    @oZopHuk 4 ปีที่แล้ว

    Диджитализируй! - познавательный. Спасибо, теперь знаю что это и зачем.

  • @zealot4325
    @zealot4325 2 ปีที่แล้ว

    Большое спасибо за видео

  • @АлександрВолков-ф7н
    @АлександрВолков-ф7н 4 ปีที่แล้ว

    А на сегодня всё, до новых встреч

  • @z0uRChannel
    @z0uRChannel 4 ปีที่แล้ว

    Отлично, так потихоньку, смотря прикольные видео, и питону параллельно можно научиться. Круто, спасибо!

  • @andytheodorko9874
    @andytheodorko9874 3 ปีที่แล้ว

    1:10 мне нравится идея Uncle Bob-a использовать автоматические тесты чтобы показать как нужно взаимодействовать с функциями и какого типа данные они принимают.

  • @alexeyzhurov7747
    @alexeyzhurov7747 4 ปีที่แล้ว +6

    Спасибо, хорошая инфа. Алексей, что там с курсами?

    • @t0digital
      @t0digital  4 ปีที่แล้ว +2

      скоро-скоро

  • @ФедорИванов-п2ы
    @ФедорИванов-п2ы 4 ปีที่แล้ว

    Алексей, у вас был такой прекрасный и уютный фон! Подумайте, возможно стоит откатиться!

    • @t0digital
      @t0digital  4 ปีที่แล้ว +2

      Точно стоит, этот не зашёл:)

  • @narekbektashyan
    @narekbektashyan 4 ปีที่แล้ว +1

    Было полезно как всегда, спасибо!

  • @Yujin.V
    @Yujin.V 3 ปีที่แล้ว

    прикольно не знал, спасибо

  • @MrDnovik
    @MrDnovik 3 ปีที่แล้ว

    Спасибо!

  • @eugeneburdin704
    @eugeneburdin704 4 ปีที่แล้ว

    Спасибо за выпуск! Полезная инфа! Я до этого пользовался :type: в docstring. Тоже норм работает если в проекте не используется тайпинг

  • @valeriivolkov_ua
    @valeriivolkov_ua 3 ปีที่แล้ว

    Спасибо за практическое видео! Очень интересно и полезно оказалось!

  • @limonred5283
    @limonred5283 4 ปีที่แล้ว

    Новая рубрика огонь!

  • @grandvidocs
    @grandvidocs 4 ปีที่แล้ว

    Спасибо большое за полезные видео!

  • @pukman676
    @pukman676 4 ปีที่แล้ว

    Больше подобных полезных штук!

  • @ЕрвандАгаджанян-в3к
    @ЕрвандАгаджанян-в3к 3 ปีที่แล้ว

    Очень полезное видео! Продолжайте в том же духе)))

  • @АнтонинаСмет
    @АнтонинаСмет 4 ปีที่แล้ว

    Спасибо за выпуск, лайк!

  • @cyberblogru
    @cyberblogru 4 ปีที่แล้ว

    О как. Круто. Спасибо. Пригодится.

  • @AlexandrSpirit
    @AlexandrSpirit 2 ปีที่แล้ว

    Белый фон убивает если смотреть вечером, осенью, в не самой освещенной комнате )

  • @Vlamir_ave_tonna
    @Vlamir_ave_tonna 4 ปีที่แล้ว

    Спасибо. Было интересно и понятно.

  • @evgeniymatashkov5808
    @evgeniymatashkov5808 4 ปีที่แล้ว

    Почаще ролики выпускай

  • @RuchejAlex
    @RuchejAlex 3 ปีที่แล้ว

    О, мастер джедай использует технику Vim в pycharme :)

  • @pythonq1060
    @pythonq1060 4 ปีที่แล้ว

    Добрый день!, ваши видео дали мне шанс заработать с удовольствием. Спасибо большое )

  • @TgHaCs
    @TgHaCs 4 ปีที่แล้ว

    Оч круто! Спасибо)

  • @StoGigovo
    @StoGigovo 4 ปีที่แล้ว +1

    Как поставить 100 оайков?) И снова спасибо тебе, как всегда, самые лучшие практики и советы. Выкатывай новую рубрику в продакшен!)

  • @kubenet
    @kubenet 4 ปีที่แล้ว

    Удобная фишка в использовании python)

  • @opusdv3503
    @opusdv3503 4 ปีที่แล้ว +6

    Это по типу заголовочных файлов в СИ что ли?

  • @SUPERustam
    @SUPERustam 4 ปีที่แล้ว

    Спасибо за выпуск

  • @olehdiatlenko4463
    @olehdiatlenko4463 4 ปีที่แล้ว

    у меня колокольчик на взводе, не грусти

    • @t0digital
      @t0digital  4 ปีที่แล้ว +1

      О, отлично :)

  • @vladyslavstadnyk2762
    @vladyslavstadnyk2762 3 ปีที่แล้ว +1

    Привет! Клевый канал, смотрю тебя периодически. Больше с точки зрения именно python, чем веб.
    У тебя есть видео про декораторы? Смысл, как их делать, а главное зачем.
    Никак не могу найти им применение в реальной жизни.
    В смысле, понятно, где их можно юзать разработчику библиотек, а разработчику обычных программ есть смысл?

  • @mrbush1872
    @mrbush1872 4 ปีที่แล้ว

    Часто бывает необходимо скомпилировать и/или собрать пакет , например rpm кода на python , расскажи , пож-та , про лучшие способы это сделать )

  • @Senator93rus
    @Senator93rus 4 ปีที่แล้ว

    Оставь, пожалуйста, старый фон, белый тяжёлый для глаз
    А так, ты как всегда топ

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Да, тут с фоном неудачно

    • @Senator93rus
      @Senator93rus 4 ปีที่แล้ว

      @@t0digital спасибо большое за твое творчество!

  • @AyerAbdi
    @AyerAbdi 4 ปีที่แล้ว +1

    Спасибо за видео! Может не к месту, но чёт додо пиццу захотелось, вообще не пойму почему

  • @kai3341
    @kai3341 3 ปีที่แล้ว +3

    Спасибо за хорошее видео. Тайпхинтинг -- хорошая штука, но есть один нюанс. Для функции `custom_sum` мы указали, что входные аргументы имеют тип `int`, и функция возвращает `int`. Но работать она будет и с `float`. А потом оказывается, что прожуёт она и `decimal.Decimal`. Ну окей, у нас есть `typing.Union` -- в чём проблема перечислить? То же касается возвращаемого результата. А потом вдруг оказывается, что допустимы и типы `numpy.*` -- их предусмотреть уже нетривиальная задача. Не менее смешно, что функция прожуёт и sqlalchemy.Column -- и как такое предусмотреть?
    Итого по тайпхинтам у меня вопросов больше, чем ответов.

    • @shuwiku
      @shuwiku ปีที่แล้ว

      Ну, если так углубляться, то можно послать всё нахрен и прописать
      if type(a) != 'int' or type(b) != 'int':
      raise ValueError('Разраб еблан')

  • @КириллКириллович
    @КириллКириллович 4 ปีที่แล้ว +6

    Первый раз вижу, как Алексей пишет не в виме

    • @dmitryvlasov931
      @dmitryvlasov931 4 ปีที่แล้ว +1

      Ибо на это есть причина.

    • @андрейполуновский
      @андрейполуновский 4 ปีที่แล้ว

      Ага, прям удивилися.
      Неужели решил наконец-то на ide перейти)

    • @AB-yl5xi
      @AB-yl5xi 4 ปีที่แล้ว

      у него плагин стоит ideavim, так что по сути он пишет в виме

    • @aargh95
      @aargh95 4 ปีที่แล้ว +1

      Значит не все видео смотрели) Ролик с Pycharm уже был (бизнес логика в джанго)

  • @Павел-б1д3я
    @Павел-б1д3я 4 ปีที่แล้ว

    Хорошая штука, но хинтинги все-таки в питоне не особо строгие, лучше уж сразу же тогда использовать языки со статической типизацией))

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Hint - подсказка, они вообще не строгие, если не накручивать сверху жестких проверок через mypy или еще что-то. Языки со статической типизацией сложны не собственно тем, что надо явно указывать тип для каждой переменной, там куча других сложностей, реально замедляющих разработку

  • @nikko374
    @nikko374 4 ปีที่แล้ว

    Лайк за фон

  • @dmitriyobidin6049
    @dmitriyobidin6049 4 ปีที่แล้ว +16

    2020 - очередной раз объясняем людям преимущества статической типизации :)

    • @historymemes1344
      @historymemes1344 4 ปีที่แล้ว +5

      Это не статическая типизация а тайп хинтинг, что является разными вещами

  • @senatortre7326
    @senatortre7326 4 ปีที่แล้ว

    Кайф. Не по РЕР-кам ли будет рубрика?) их кажется столько, что каждый можно в отдельном видео разгонять... ждем-с.

    • @t0digital
      @t0digital  4 ปีที่แล้ว +1

      Идея хорошая, но ближайшая задумка не по PEP'ам!

  • @dmytroznak8843
    @dmytroznak8843 4 ปีที่แล้ว

    Крутяк)

  • @ynxela
    @ynxela 4 ปีที่แล้ว +1

    Привет, котаны!

  • @alexanovoable
    @alexanovoable 4 ปีที่แล้ว

    Как раз на крайнем Python Conf++ рассказывали про использование stubs для "обтипизации" Django силами monkeytype и волонтерами - хороший пример как и для чего можно применять сабж.

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Дааа!

    • @alexanovoable
      @alexanovoable 4 ปีที่แล้ว

      th-cam.com/video/apoial8krAw/w-d-xo.html - забыл ссылку добавить

  • @SergMirny_yt
    @SergMirny_yt 4 ปีที่แล้ว

    Огонь

  • @mrbush1872
    @mrbush1872 4 ปีที่แล้ว +2

    А можно как-то автоматом генерировать заполнение pyi?

  • @mikisor4372
    @mikisor4372 4 ปีที่แล้ว +1

    Когда же Ваш курс ?

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      скоро-скоро

  • @aleksbotler5358
    @aleksbotler5358 3 ปีที่แล้ว +1

    1.Разрабатываем ЯП, в котором не нужно прописывать тип переменной, радуемся тому, как круто теперь можно в любое время переменной присвоить значение любого типа и не задавать его при создании переменной.
    2. Начинаем писать большие по объему сложные программные системы, начинаем терять контроль над типами, куда, что передавать, и что возвращает функция. При создании программы ide и при компиляции среда исполнения не могут нам помочь, но далее при исполнении начинает вылетать с ошибкой несоответствия типа.
    3. Начинаем придумывать костыли, чтобы ПО могло проверить типы, и не надо было это делать вручную.

  • @КонстантинДосягаев
    @КонстантинДосягаев 4 ปีที่แล้ว

    Спасибо. Еще один вопрос закрыт.

  • @Antei98
    @Antei98 11 หลายเดือนก่อน

    а как сделать stub file для сторонней установленной библиотеки, которая написана без type хинтингов?

  • @Vorono4ka
    @Vorono4ka 4 ปีที่แล้ว

    🏃🏃🏃

    • @t0digital
      @t0digital  4 ปีที่แล้ว +1

      надеюсь, вы не выносите описания типов из .py файлов в .pyi файлы - .pyi же только для конкретных задач, в основном типы указываются в самом .py исходнике

  • @gendalfbeliy1
    @gendalfbeliy1 3 ปีที่แล้ว

    вообще-то в расматриваемой функции и float и int можно использовать например. Это как-то можно захинтить чтоб оба варианта принимались?

  • @siberianwolf777
    @siberianwolf777 4 ปีที่แล้ว

    На ентерпрайсе за юзаю, даже не верится что так просто и удобно.

  • @RuchejAlex
    @RuchejAlex 3 ปีที่แล้ว

    stub file - файл заглушка. Хм... как звучит. Предлагаю ввести понятие crutch file - файл костыль, более распространённое явление.

  • @Laertid
    @Laertid 4 ปีที่แล้ว

    Если видео о pyi-файлах вообще, то хотелось бы ещё услышать в нем, что можно засунуть в тело функции кроме "...". У меня вот после просмотра остался открытый вопрос, который придется идти гуглить.

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Зачем засовывать что-то в тело функции кроме многоточия? Определение функции в .py файле, в .pyi только подсказки типов

    • @Laertid
      @Laertid 4 ปีที่แล้ว

      @@t0digital В том-то и вопрос. Зачем вообще оставили необходимость писать многоточие, если тело функции в этих файлах ничего не значит? Это лишние символы и место, которое ассоциируется с неким функционалом, которого на деле нет.

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      @@Laertid а что по-вашему должно быть на месте функции в таком случае?

    • @Laertid
      @Laertid 4 ปีที่แล้ว

      @@t0digital чисто заголовок.
      Хотя возможно это я так говорю потому, что с "..." не сталкивался, только с pass.

  • @AlexGott
    @AlexGott 4 ปีที่แล้ว

    Агонь!!!

  • @LewaSGN
    @LewaSGN 4 ปีที่แล้ว

    Знаю, умею, практикую! Только я называю это аннотациями, а не тайпхинд... тайпхент...
    Виму, конечно, плевать, но мне удобнее.
    За видос лайк, читаемость всегда в приоритете!

  • @vktrl736
    @vktrl736 ปีที่แล้ว

    Всем привет
    Не у кого не возникала проблема, что при переходе на реализацию (хочешь перейти на описание функции ctrl+клик мыши) переходит на эти pyi файлы?

  • @mihailbuldakov9424
    @mihailbuldakov9424 4 ปีที่แล้ว +13

    Похоже ты превращается в отца русского Python, так держать

    • @t0digital
      @t0digital  4 ปีที่แล้ว +1

      Спасибо:)

  • @LoloKsyu
    @LoloKsyu 3 ปีที่แล้ว

    Как быть если функции с одним и тем же именем? И где ищутся соответствующие функции, внутри той же директории?

  • @maxzhenzhera
    @maxzhenzhera 4 ปีที่แล้ว

    Познавательно)

  • @ВячеславДолинский-г7ы
    @ВячеславДолинский-г7ы 4 ปีที่แล้ว +2

    Мне пайтон наравится все больше и больше :-) спасибо

  • @sergeytaranov2015
    @sergeytaranov2015 4 ปีที่แล้ว +1

    01:59 Задумался и таки сказад неправильно. Всё-таки в обеих ситуациях ИЛИ в обОих случаях. С уважением

    • @neodzen
      @neodzen 4 ปีที่แล้ว

      потому что:
      мужской род - оба
      женский род - обе

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Да-да

  • @ashotvantsyan9028
    @ashotvantsyan9028 4 ปีที่แล้ว

    С какой версией Python 3 доступны pyi ?

  • @kostyaten
    @kostyaten 3 ปีที่แล้ว

    А расскажи как возвращать dict с описанием типов {"a": 1, "b": "test", "c": {"hello": "word"}} ?

    • @t0digital
      @t0digital  3 ปีที่แล้ว

      Я бы это возвращал не диктом, а через dataclass, например. Задав тип каждого атрибута в нём

  • @dizzivoneverec2737
    @dizzivoneverec2737 4 ปีที่แล้ว

    Годнота! Как раз сегодня с товарищем обсуждал то что Дижитализируй пропал и новых видосиков нету xDD

  • @olegkolesnik7710
    @olegkolesnik7710 4 ปีที่แล้ว

    Как идут дела с разработкой курса? Анкету заполнили достаточно людей?

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Да. Курс в разработке

  • @yexela
    @yexela 4 ปีที่แล้ว

    Мы не ищем лёгких путей! :)

  • @justkrybik
    @justkrybik 4 ปีที่แล้ว

    Колокольчик поставил давно. Вот как ж...й чувствовал, когда на канал подписывался, что начну писать на пайтон... И вот случилось! На работе, пишу утилиты для системы тестирования...

  • @ntvisigoth
    @ntvisigoth 2 ปีที่แล้ว

    @Диджитализируй!
    А можешь пояснить,а почему такое кол-во Issues в репозитории Mypy ? Может и не стоит доверять ему? ;)

    • @t0digital
      @t0digital  2 ปีที่แล้ว

      Там где нет issues, там просто нет пользователей. Ну и специфика такая, пайтон динамической типизации язык, непросто там сделать хорошую проверку. Проверяторов много, там не только mypy

  • @xacho86
    @xacho86 4 ปีที่แล้ว

    Тема интересная, но есть вопрос. Когда мы импортируем сторонние библиотеки, они же помещаются в ExternalLibraries. Как быть в таком случае?

  • @andrewslee_channel
    @andrewslee_channel 4 ปีที่แล้ว

    Спасибо за видео!
    P.S. А где ламповый фон?(

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      вернётся;)

  • @aleksandraleksandrov4740
    @aleksandraleksandrov4740 4 ปีที่แล้ว

    А почему нельзя в основном файле написать def custom_sum(a : int, b : int): return a + b + 123?

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Можно, если ваш код не подразумевает поддержку питон 2 и если это не код внешней библиотеки, обновления которой ломать не стоит

  • @oleksandershevchenko8063
    @oleksandershevchenko8063 4 ปีที่แล้ว

    Тайп хинтинги рулят. Бенефитов много... Кроме клин кодинга стоит подумать о клин спикинге... :-))))

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Кому надо понять - поймут. Если человек не понимает слов тайп хинтинг, у меня для него оч плохие новости

    • @oleksandershevchenko8063
      @oleksandershevchenko8063 4 ปีที่แล้ว

      @@t0digital Так лучше: " Если человек не понимает слов тайп хинтинг, у меня для него вери бед новости" Или для вас это слишком ту мач? :-)

    • @t0digital
      @t0digital  4 ปีที่แล้ว +1

      @@oleksandershevchenko8063 да, для меня это слишком, потому что слова too much не имеют отношения к ИТ и это было бы неуместно. Словосочетание type hinting имеет явное прямое отношение к ИТ (то есть к теме видео) и в документации, книгах, статьях (все они на англ) пишется type hinting, поэтому это а) полезно знать б) нет ничего плохого в том, чтобы не переводить это. Когда я слышу «тайп хинтинг» я сразу понимаю, о чем речь. Если бы я услышал «подсказки типов», мне пришлось бы на мгновение задуматься о том, что говорящий имеет в виду. Ну а бенефит это давно заимствованное слово и едва ли кто-то не понимает его значения из смотрящих это видео.

    • @oleksandershevchenko8063
      @oleksandershevchenko8063 4 ปีที่แล้ว

      @@t0digital Проехали.

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      @@oleksandershevchenko8063 вжууух!

  • @artsiomlazavikou7940
    @artsiomlazavikou7940 4 ปีที่แล้ว

    Вопрос возник. Что если при полиморфном использовании функции в наследниках изменить типы входящих данных - как это отразиться на стаб файлах? Надеюсь понятно изьяснился.

  • @f0rzend59
    @f0rzend59 4 ปีที่แล้ว

    Интересный видос. Без стаканчика было бы хуже

  • @dmitriy2303
    @dmitriy2303 4 ปีที่แล้ว

    А где же "здоров котаны©" ?

  • @ruslan_yasel_aq_qizil
    @ruslan_yasel_aq_qizil 4 ปีที่แล้ว +1

    Зачем в Python .pyi файлы и чем они полезны?
    За тем же, зачем в TypeScript нужны файлы *.d.ts.
    Занавес, музыка из "Ералаша" (парам-пара-пам)

  • @EmptYRU777
    @EmptYRU777 4 ปีที่แล้ว

    Интеграция с ДоДо

  • @ntvisigoth
    @ntvisigoth 2 ปีที่แล้ว

    Мне как новичку в использовании аннотаций не совсем понятно вот что:
    Допустим у меня есть requests библиотека. То что мне надо сделать? Самому написать pyi файлы к ней и если да, то где потом лучше всего расположить так, чтоб никого из будущих читателей кода не удивлять?

    • @t0digital
      @t0digital  2 ปีที่แล้ว

      Как правило на библиотеки не пишут pyi файлы - в хороших либах уже есть прописанные типы внутри. В requests почему-то нет. Ну нет и нет, надо прописывать типы самому в своём коде. У любой переменной можно взять type(var), понять, какого она типа и прописать соответствующий тип в своём коде

  • @govdamikhaylo4183
    @govdamikhaylo4183 4 ปีที่แล้ว

    Почему я не могу отвести глаза от стаканчика:)

  • @МишаАлексеев-я1ч
    @МишаАлексеев-я1ч 3 ปีที่แล้ว

    Всем привет, подскажите пж, как бороться с циклическими import при указании тайп хинтингов?

    • @t0digital
      @t0digital  3 ปีที่แล้ว

      можно указывать подсказку типов как строку. Вместо:
      user: User
      можно так:
      user: "User"

    • @МишаАлексеев-я1ч
      @МишаАлексеев-я1ч 3 ปีที่แล้ว

      @@t0digital спасибо за ответ, ещё я нашёл вариант с TYPE_CHECKING модуля typing и __futute__.annotations чтобы можно было не указывать кавычки. Может кому пригодится

  • @HeavyLexer
    @HeavyLexer 4 ปีที่แล้ว

    самое смешное, что благодаря этим *.pyi файлам, когда в пайчарме хочешь перейти к дефинишену функции, он тебя редиректит не на реальный дефинишн, а на функцию с тайпхинтингом. Как это перенастроить - хз! бесит, дико

  • @evgeniykuts6756
    @evgeniykuts6756 4 ปีที่แล้ว

    Алексей, MacBook поменял?

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Нет, тот же, 15" 2015го года

  • @rmatveev
    @rmatveev 4 ปีที่แล้ว

    Некий аналог заголовочного файла (.h) в языке Си

  • @jmik4956
    @jmik4956 4 ปีที่แล้ว +1

    .pyi в питоне - альтернатива .h в С
    Я правильно понимаю?)

    • @flaxmychannel
      @flaxmychannel 4 ปีที่แล้ว

      Нет, координатно разные вещи