Аннотации типов в Python | Почему не используешь?

  Рет қаралды 11,658

PythonToday

PythonToday

7 ай бұрын

Видеокурс уроков программирования на Python для начинающих.
Что такое аннотации типов, аннотации функций в Python и почему нужно использовать в своем коде.
🔥 Доступ в приват | Поддержать проект:
boosty.to/pythontoday
/ pythontoday
yoomoney.ru/to/410019570956160
🔥 Стать спонсором канала:
/ @pythontoday
****Ссылки****
Дешевый/надежный сервер в Европе + СКИДКА 10%:
vdsina.ru/?partner=858b36ud3p
Дешевый/надежный сервер в Европе:
zomro.com/?from=246874
promo_code:
zomro_246874
Хороший proxy сервис:
proxy6.net/a/149995
Распознавание текста с изображения на Python
• Распознавание текста с...
Парсинг динамического сайта на Python + Telegram бот на AIOGram
• Парсинг динамического ...
Фриланс, зарабатываем 5000р на парсинге | Выполняем заказ на фрилансе
• Парсинг на Python, Sel...
Парсинг криптобиржи | Торговый бот | API криптобиржи:
• Парсинг криптобиржи | ...
Как отправить письмо с вложением на почту с помощью Python | Email рассылка
• Программы на Python | ...
Асинхронный парсинг на Python | Ускоряем код в 10 раз
• Асинхронный парсинг на...
Python код в EXE файл:
• Python в EXE
Пишем Telegram бота на Python + Загружаем Telegram бота на сервер(хостинг):
• Пишем Telegram бота на...
Плейлист по распознаванию лиц на Python:
• Распознавание лиц | Fa...
Плейлист по парсингу сайтов на Python:
• Парсинг/Scraping
Плейлист по Instagram боту:
• Instagram Bot на Pytho...
****Соц.сети****
Telegram: t.me/python2day

Пікірлер: 62
@loxlox3944
@loxlox3944 7 ай бұрын
В питоне 3.10 давно можно аннотировать без Union: list | None например. Можно ещё аннотировать написанные обьекты.
@maxrokitsky
@maxrokitsky 7 ай бұрын
4:31 Это неверно. Если нет ретёрна, то питон неявно подставляет `return None` и функция завершается нормально, тип возвращаемого значения `-> None`. Ты почти прав, когда говоришь "допускаем что функция не завершается нормально", только правильнее не "допускаем", а "гарантируем". Например, если функция всегда(!) выкидывает исключение или уходит в бесконечный цикл. Если ты после вызова функции `greeting() -> NoReturn` напишешь что-нибудь, тебе VSCode затемнит код и напишет "Код недоступен", т.к. до этих строк выполнение никогда не дойдёт. 1:57 typing.List лучше не использовать, он устарел и будет в будущем выпилен из питона. Вместо этого используйте просто обычный list, например `list[str]`. 3:52 Не ошибка, но для простых комбинаций можно просто через pipe `|` написать. Например `a: float | int`.
@PythonToday
@PythonToday 7 ай бұрын
Благодарю за фидбэк и разъяснение!
@makeevdimitry
@makeevdimitry 7 ай бұрын
всё-так стоит ещё учитывать, под какую версию идёт разработка: list[str] - будет ругаться до 3.9, a: float | int - будет ругаться до 3.10 а ещё автор не указал, что есть библиотеки, которые используют аннотации типов, например, для валидации
@drongodep5750
@drongodep5750 Ай бұрын
я починав свій шлях програмування із типізованих мов, бородатого Паскаль, С+ та Java тому мені увійшло в звичку прописувати типи даних навіть в Python. Особисто я вважаю анотації типів дуже корисною річчю. До речі, раніше я не знав, що інтерпритатор ігнорує анотації. Авторе, дякую. Було корисно та інформативно як завжди
@popel_
@popel_ 7 ай бұрын
Аннотации типов часто использую. Очень удобная штука, если честно. Код выглядит в разы симпатичней и понятней для других и себя в том числе.
@leoworker1752
@leoworker1752 2 ай бұрын
Это откат к временам С . Ничего удобного, лишняя писанина.
@Artists353
@Artists353 7 ай бұрын
Только что начала изучать аннотацию типов и при них нечего не понял, но тут ты всё понятно объяснил. Спасибо
@dr_mont2965
@dr_mont2965 7 ай бұрын
Какое совпадение! Я только начал использовать аннотации типов, и тут сразу выходит целое видео по этой теме)
@Death_2091
@Death_2091 7 ай бұрын
Донесено всё простым языком и всё понятно
@PythonToday
@PythonToday 7 ай бұрын
Спасибо за поддержку!
@Neko-sr4wz
@Neko-sr4wz 7 ай бұрын
УРААААААААА, НОВЫЙ ТОП-ВИДОС!
@rinatyagafarov5328
@rinatyagafarov5328 7 ай бұрын
Благодарю за информацию! Как раз в айограм попадались такие конструкции, интуитивно догадывался для чего они, сейчас стало ясно.
@PythonToday
@PythonToday 6 ай бұрын
Благодарю за фидбэк!
@Alexander-vi9mg
@Alexander-vi9mg 7 ай бұрын
Вот только вчера хотел погуглить как и зачем это используется. Спасибо!
@PythonToday
@PythonToday 7 ай бұрын
Спасибо за фидбэк! Рад что полезно!
@TheRedbeardster
@TheRedbeardster 7 ай бұрын
Безумное раздолбайство, конечно: указывать сигнатуру и плевать на нее с дроболитейной башни. Спасибо!
@traydingzone
@traydingzone 6 ай бұрын
Класс видосы, скажи пожалуйста, а есть видео для парсинга авито? чтоб все данные можно было потом выгрузить в Эксель и для дальнейшей сортировки, все данные чтоб были в таблице по запросам? Заранее спасибо
@Embrace777
@Embrace777 6 ай бұрын
Спасибо!
@amirniiazov1684
@amirniiazov1684 7 ай бұрын
Вроде бы вместо Union можно использовать оператор | к примеру int | float, а вместо NoReturn, -> None поправьте если ошибаюсь
@muhlymak
@muhlymak 7 ай бұрын
пайп вместо union c 3.10, а с NoReturn автор не изучил сабж до конца, название аннотации ввело в заблуждение )
@user-zj4vj4sl6v
@user-zj4vj4sl6v 3 ай бұрын
Отличное видео, все понятно объясняете, однако)
@PythonToday
@PythonToday 3 ай бұрын
Благодарю за фидбэк!
@user-wh8ll3nn6r
@user-wh8ll3nn6r 7 ай бұрын
PythonToday пора бы запилить видосик по парсингу авито
@vigauss1889
@vigauss1889 6 ай бұрын
Спасибо
@indlborm
@indlborm 7 ай бұрын
Как-то поверхностненько ) АФАИК указание типов применяется не "для коллег-программистов", а "для IDE". Чтобы IDE вопило-ругалось про несоответствие. Потому что самому питону чихать на типы и ошибки с ними. ОООчень мало, точнее почти нет, про составные типы. Когда переменная или функция могут иметь разные типы значений. Как минимум, возвращать (None или что-то). В каментах уже указали, что Uniion это bad practices. Т.ч. тема точно требует освещения. (да и как-то ни разу не видел uniion в реальном коде, только "тип|тип" и т.п..) Т.ч. за почин зачет. Однако, тема требует развития и углубления. Желательно, сразу с примерами, как оно будет в популярных IDE. Например, мне не удалось убедить pycharm корректно обрабатывать составные типы возвращаемых значений. Пока забил, но хотелось бы понять что не так с этим чудо(вище)м программизма.
@infinity16492
@infinity16492 7 ай бұрын
всем привет. напишите пж кто шарит, стоит ли начинать с питона, т.к. на данный момент питон учат все кому не лень и соответственно очень много джунов питонистов и на 1 вакансию дохера людей собираются, будут ли проблемы с поиском работы в дальнейшем ?
@Dmitrij_D
@Dmitrij_D Ай бұрын
Пришёл с версии 3.4 Если честно, не понимаю, как лишняя писанина улучшает понимание кода, если для других, то в докстринг можно указать. Не, может где-то и полезно, но выглядит ппц непривычно для меня...
@deus7204
@deus7204 7 ай бұрын
Познавательно! Спасибо за видео
@asperinn
@asperinn 7 ай бұрын
Всем привет . Подскажите какие-нибудь каналы в телеге с комьюнити по питону..либо просто по программированию! Буду крайне признателен. Всем добра !
@indlborm
@indlborm 7 ай бұрын
Возможно, тоже есть на канале -- было бы неплохо осветить тему использования raise. В каких случаях какие типы ошибок правильнее использовать. Как минимум, разница между ValueError и RuntimeError. Если оба этих варианта можно применять после проверки значений. Например, в функцию приходит параметр -- проверяется, "упс, пустой". Как понять, это ошибка значения или ошибка выполнения? Если не ловить эти ошибки в вызывающем коде, то разницы никакой -- скрипт упадет в любом случае. А если фильтровать по except -- то уже появляется разница.
@user-je5tg9jx5m
@user-je5tg9jx5m 7 ай бұрын
Действительно очень полезная вещь и крайне странно редко это видеть в реальных проектах. Было бы клево чтобы аннотации еще и приводили к ошибкам при неверном типе данных. Пришлось бы меньше тестов писать. НО это так мечты....
@Trezvy_Papa
@Trezvy_Papa 6 ай бұрын
Это в Java вроде бы так.
@user-yd7qo6kc6e
@user-yd7qo6kc6e 4 ай бұрын
@@Trezvy_Papa это в любом языке со статической типизацией так
@indlborm
@indlborm 7 ай бұрын
Еще интересна тема про сравнение IDE в плане "полезность/пожирание ресурсов". Недавно обратил внимание, что pycharm пожирает 4..6 гигов памяти на простом файлике в пару тысяч строк. Как-то это дофига ) Возможно, на канале уже есть такие ролики? Особенно интересны моменты, если такие реально есть, вроде: написал "import tensorflow as tf" -- и пайчарм отожрал гиг памяти. Написал еще импорт-другой и еще отожралось. Или дело совсем не в этом )
@alexandergrigorev4518
@alexandergrigorev4518 6 ай бұрын
Пайчарм много кеширует например для мгновенного поиска по проекту. И именно поиск в нем мегаудобный
@pythohuynya
@pythohuynya 7 ай бұрын
неплохо
@user-iw2bv5ep8o
@user-iw2bv5ep8o 7 ай бұрын
Очень нравится твой канал, но после плейлиста по парсингу такие короткие видео ни в какое сравнение не идут. Есть МНОГО полезных видео у тебя на канале. Возможно, у тебя просто стало меньше времени, чтобы снимать видео, но можешь делать хотя бы средние видео, например по интересным библиотекам, которыми делишься в телеграмме, либо про что-то другое. Тот же самый бесплатный ChatGPT на канале очень помогает мне учиться алгоритмам, так что спасибо. P.S. Аннотации типов - это отличная вещь. Ты очень классно объясняешь, но в этот раз очень сжато расскрыл тему. Надеюсь, комментарий поможет тебе чем-то. Успехов и удачи🍀
@blackcatdevel0per
@blackcatdevel0per 7 ай бұрын
Final и NoReturn я ещё не пользовал 🤔
@clauseclause6640
@clauseclause6640 7 ай бұрын
Все очень плохо! NoReturn, ТОЛЬКО для функций которые ОБЯЗАТЕЛЬНО вызывают исключение. Давно не используют List, потому что есть list, а вместо Union используют |
@muhlymak
@muhlymak 7 ай бұрын
автору два, что безответственно подошёл к этой теме 😁много комментов именно по этим 3 пунктам
@nakamasama
@nakamasama 6 ай бұрын
Ты не прав. Не знаю, когда появилась такая возможность, но в 3.10+ поддерживаются типы str, int, float, bool, list, tuple, dict, None как минимум. Это те, которые я использовал. Я всегда после написания проекта делаю аннотацию типов. И я никогда не использовал устаревший модуль typing. Всё, что есть в typing, можно сделать аннотацией. Не вижу смысла его использовать...
@ifiifjrndkdkx
@ifiifjrndkdkx 7 ай бұрын
Часто встречал это в проектах на гитхабе, даже боялся трогать это ) а это оказывается сделано чтобы как раз мне было легче😅 спасибо тебе за крутые видосы❤
@PythonToday
@PythonToday 7 ай бұрын
Спасибо за поддержку и крутоей коммент) Рад что полезно
@isanek88
@isanek88 7 ай бұрын
Кошка то будет???
@MsRestartround
@MsRestartround 7 ай бұрын
Кто не использует? Я не использую? Я использую!
@PythonToday
@PythonToday 7 ай бұрын
Красавчик! Я использую очень редко, лень :(
@oleg_vp
@oleg_vp 7 ай бұрын
Прикольненько. Так скоро Питон в Шарпа превратится :) Однако, лично мне, после всяких там си-подобных языков очень режет глаз это: *count: int = 14* Вообще логики не вижу и глаза слезятся... Ну просится же: *int: count = 14* !!! НУ КАК ТАК ТО? :)
@vhavagyan
@vhavagyan 7 ай бұрын
после паскалья не режит )
@oleg_vp
@oleg_vp 7 ай бұрын
@@vhavagyan удивился... полез гуглить... офигел... Когда я учил Паскаль 30 лет назад такой порнографии в нем не было! :)))) Нельзя было присваивать переменным значение в разделе VAR, только константам, но у них тип не указывался. А теперь вон оно что... куда катится этот мир! :)))
@the_huge_knight
@the_huge_knight 7 ай бұрын
Аннотации типов удобны в ООП: редакторы кода подтягивают методы и свойства указанных классов.
@merdannowruzow5597
@merdannowruzow5597 7 ай бұрын
Научи как менять голос ну библиотека или не знаю нейронку как создать ну чтоб можно было копировать голос научи
@alexmaretskiy
@alexmaretskiy 6 ай бұрын
умышленно не использую аннотацию так как он неё почти нет толку, вместо этого оформляю полноценные docstrings в стиле sphinxdoc, что в разы полезнее. Как по мне пока интерпретатор игнорирует аннотацию это бесполезная фича, годная разве что для тех кто ленится или просто не в состоянии нормально описать docstring. Docstring намного лучше поясняет код + генерация документации
@domuro8108
@domuro8108 7 ай бұрын
ребят с чего начать с полностью нулевыми знаниями, вообще абсолютно не знаю ничего в кодинге, просто бабка
@LoLKeK09
@LoLKeK09 7 ай бұрын
Дядь, у твоего микро большое эхо
@PythonToday
@PythonToday 7 ай бұрын
Не сынок. Это балкон. Накоплю денег - куплю акустический поролон
@LoLKeK09
@LoLKeK09 7 ай бұрын
@@PythonToday 😂ну ладно
@user-tb5fx6zq5u
@user-tb5fx6zq5u 7 ай бұрын
@@PythonToday 😅😅
@Trezvy_Papa
@Trezvy_Papa 6 ай бұрын
Зачем делать такое видео, если сам не разобрался?
@krosser2849
@krosser2849 7 ай бұрын
Скучные ролики пошли…
Is it Cake or Fake ? 🍰
00:53
A4
Рет қаралды 16 МЛН
How to bring sweets anywhere 😋🍰🍫
00:32
TooTool
Рет қаралды 28 МЛН
Основы Asyncio
53:25
Python Russian
Рет қаралды 11 М.
Самое простое объяснение нейросети
16:30
Программный Кот
Рет қаралды 109 М.
Ruff в Python: Этот инструмент изменит все
10:21
Собеседование на позицию Senior Python Developer 350т.р. #10
24:29
Python собеседования
Рет қаралды 15 М.