Forwarded from Yandex for Developers
Хотя многие уже планируют Новый год, на Хабре по-прежнему выходят актуальные материалы — а в Питере будет встреча сообщества C++.
Участвуй
🚶♂️19 декабря, четверг — Санкт-Петербург — C++ Party. Итоги встречи комитета C++ в Белфасте и рассказ об управлении состоянием при компиляции.
Читай
📖В некотором царстве, не в «спринговом» государстве. Расшифровка доклада о мощном опенсорсном Java-фреймворке.
📖Искусственный интеллект с фломастером. Как мы тренировали нейросеть BERT находить опечатки в новостях.
📖Как устроено тестирование фронтенда в Яндекс.Маркете и почему мы отказываемся от еженедельных релизов.
Смотри
🎥Cloud Lab. Партнёры Яндекс.Облака рассказали о сложных проектах, в которых они задействовали Kubernetes, CI/CD и аналитику данных.
🎥Большой Pytup. Восемь докладов про Python от руководителей групп, разработчиков и экспертов из Booking․com, Тинькофф Банка, СКБ Контур и Яндекса.
Участвуй
🚶♂️19 декабря, четверг — Санкт-Петербург — C++ Party. Итоги встречи комитета C++ в Белфасте и рассказ об управлении состоянием при компиляции.
Читай
📖В некотором царстве, не в «спринговом» государстве. Расшифровка доклада о мощном опенсорсном Java-фреймворке.
📖Искусственный интеллект с фломастером. Как мы тренировали нейросеть BERT находить опечатки в новостях.
📖Как устроено тестирование фронтенда в Яндекс.Маркете и почему мы отказываемся от еженедельных релизов.
Смотри
🎥Cloud Lab. Партнёры Яндекс.Облака рассказали о сложных проектах, в которых они задействовали Kubernetes, CI/CD и аналитику данных.
🎥Большой Pytup. Восемь докладов про Python от руководителей групп, разработчиков и экспертов из Booking․com, Тинькофф Банка, СКБ Контур и Яндекса.
YouTube
"Как на основе ML построить гиперлокальный прогноз погоды", Елена Волжина (Яндекс)
Forwarded from OTUS IT News
❄️ BDD-фреймворки автоматизации существуют в любом языке программирования, и Python — не исключение. В этой статье мы сравним основные из них.
👉🏻 ПОДРОБНЕЕ
✅ Специализированный курс «Python QA Engineer» позволит узнать, как решаются задачи автоматизации тестирования на реальных проектах с использованием языка Python. Освоив образовательную программу, вы получите навыки решения основных задач в области автоматизации тестирования веб-приложений.
🎄 Изучайте программу, проходите вступительное тестирование и присоединяйтесь к новой группе по специальной новогодней цене🎄
👉🏻 ПОДРОБНЕЕ
✅ Специализированный курс «Python QA Engineer» позволит узнать, как решаются задачи автоматизации тестирования на реальных проектах с использованием языка Python. Освоив образовательную программу, вы получите навыки решения основных задач в области автоматизации тестирования веб-приложений.
🎄 Изучайте программу, проходите вступительное тестирование и присоединяйтесь к новой группе по специальной новогодней цене🎄
Forwarded from CoolPython
Материалы
Уже не в первый раз в фидбэке просите посоветовать материалы по Python. В этом посте подборка ресурсов, которые нравятся мне самой. Фактически, конечно, это реклама, которой мне хотелось на канале избежать, но раз такой запрос, то поехали.
Люди часто учатся на платных курсах, потому что это заставляет их ответственнее подходить к обучению: раз вложился деньгами, то надо закрывать дедлайны. Но я сама глубоко травмирована системной образования с сессиями. Я считаю, что обучение это процесс личный, даже интимный, и надо давать студентам время. Иначе люди начинают либо забивать, либо сдавать домашки, не понимая их, либо ненавидеть процесс. Поэтому ниже набор бесплатных или условно бесплатных курсов и лекций, которые можно пройти в своем темпе. По возрастанию сложности:
🐟Базовый курс по Python (циклы, словари/строки/списки и прочие основы языка) есть на Stepik.
🐟Еще есть хороший обзорный курс на Coursera. Сначала основы языка, потом более продвинуто: детали, ООП на Python, тестирование, многопоточность, асинхронность и веб-программирование. Мне нравится, что все подробно, с примерами, с задачами на грейдере и близко к реальному миру.
🐟Дока к языку — это must. Можно начать с PEP8, PEP20 и FAQ.
🐟Для начинающих мне нравится Дэн Бейдер <<Чистый Пайтон>>. Книжка базовая, но очень человечная, автор объясняет вещи простым языком и дает примеры из своего опыта разработки. Но перед покупкой книжки советую посмотреть бложек, потому что книга сделана по его мотивам, только тексты расположены в порядке, удобном для усвоения.
🐟Часто рекомендуют Лутца <<Изучаем Python>> в двух томах, но я его не очень люблю. Есть такой буддистский коан, в котором учитель льет чай в чашку ученика, пока чай не начинает литься через край. Так же происходит, когда мы пытаемся слишком быстро что-то усвоить и в действительности материал не укладывается в голове. ИМХО, сложность в Лутце растет слишком быстро, но если это и в кайф, то вперед.
🐟В Питере, на моей исторической родине, есть Computer Science Center. Это что-то вроде независимой магистратуры, где дают прекрасное образование, читают курсы по программированию и открытые тематические лекции. У них есть канал на YouTube, где можно заценить уровень ребят. Очень советую этот курс по Python за глубину и хорошую проработку материала. На их канале есть и другие курсы.
🐟Если хотите с головой окунуться в многопоточность, асинхронность и разобраться, что такое GIL, есть великолепные доклады с ливкодингом от гуру Python Дэвида Бизли.
🐟И если все еще не хватает хардкора, то Филип Гуо на протяжении 10 лекций разбирается в исходниках CPython.
Не то чтобы это был необходимый запас для разработки, но если начал рекомендовать курсы, становится трудно остановиться. Еще есть алгоритмы (1, 2), основы линукса (1, 2), bash, сетей, git и баз данных(1, 2). Можно дополнить пет-проектом и наскребете аналог одного-двух лет бакалавриата по специальности.
А еще и всегда можно оставаться на канале Python in depth, я здесь говорю о простых и сложных штуках. Если есть еще какие-нибудь запросы, пишите в фидбэк, обсудим.
PS: Кстати, о Coursera. Если курс покупать не хочется или нет возможности, то многие курсы там можно пройти в режиме слушателя. Обычно это означает доступ ко всем видео и некоторым задачам, но сертификат получить будет нельзя. Если ситуация с деньгами сложная, а сертификат хочется, то можно написать письмо (загуглите, как это сделать), чтобы курс открыли бесплатно. Обычно Coursera лояльны в этом отношении и с высокой вероятностью идут навстречу.
Учитесь и берегите себя! Всем классной, вашей, продуктивной недели. 🐠
Уже не в первый раз в фидбэке просите посоветовать материалы по Python. В этом посте подборка ресурсов, которые нравятся мне самой. Фактически, конечно, это реклама, которой мне хотелось на канале избежать, но раз такой запрос, то поехали.
Люди часто учатся на платных курсах, потому что это заставляет их ответственнее подходить к обучению: раз вложился деньгами, то надо закрывать дедлайны. Но я сама глубоко травмирована системной образования с сессиями. Я считаю, что обучение это процесс личный, даже интимный, и надо давать студентам время. Иначе люди начинают либо забивать, либо сдавать домашки, не понимая их, либо ненавидеть процесс. Поэтому ниже набор бесплатных или условно бесплатных курсов и лекций, которые можно пройти в своем темпе. По возрастанию сложности:
🐟Базовый курс по Python (циклы, словари/строки/списки и прочие основы языка) есть на Stepik.
🐟Еще есть хороший обзорный курс на Coursera. Сначала основы языка, потом более продвинуто: детали, ООП на Python, тестирование, многопоточность, асинхронность и веб-программирование. Мне нравится, что все подробно, с примерами, с задачами на грейдере и близко к реальному миру.
🐟Дока к языку — это must. Можно начать с PEP8, PEP20 и FAQ.
🐟Для начинающих мне нравится Дэн Бейдер <<Чистый Пайтон>>. Книжка базовая, но очень человечная, автор объясняет вещи простым языком и дает примеры из своего опыта разработки. Но перед покупкой книжки советую посмотреть бложек, потому что книга сделана по его мотивам, только тексты расположены в порядке, удобном для усвоения.
🐟Часто рекомендуют Лутца <<Изучаем Python>> в двух томах, но я его не очень люблю. Есть такой буддистский коан, в котором учитель льет чай в чашку ученика, пока чай не начинает литься через край. Так же происходит, когда мы пытаемся слишком быстро что-то усвоить и в действительности материал не укладывается в голове. ИМХО, сложность в Лутце растет слишком быстро, но если это и в кайф, то вперед.
🐟В Питере, на моей исторической родине, есть Computer Science Center. Это что-то вроде независимой магистратуры, где дают прекрасное образование, читают курсы по программированию и открытые тематические лекции. У них есть канал на YouTube, где можно заценить уровень ребят. Очень советую этот курс по Python за глубину и хорошую проработку материала. На их канале есть и другие курсы.
🐟Если хотите с головой окунуться в многопоточность, асинхронность и разобраться, что такое GIL, есть великолепные доклады с ливкодингом от гуру Python Дэвида Бизли.
🐟И если все еще не хватает хардкора, то Филип Гуо на протяжении 10 лекций разбирается в исходниках CPython.
Не то чтобы это был необходимый запас для разработки, но если начал рекомендовать курсы, становится трудно остановиться. Еще есть алгоритмы (1, 2), основы линукса (1, 2), bash, сетей, git и баз данных(1, 2). Можно дополнить пет-проектом и наскребете аналог одного-двух лет бакалавриата по специальности.
А еще и всегда можно оставаться на канале Python in depth, я здесь говорю о простых и сложных штуках. Если есть еще какие-нибудь запросы, пишите в фидбэк, обсудим.
PS: Кстати, о Coursera. Если курс покупать не хочется или нет возможности, то многие курсы там можно пройти в режиме слушателя. Обычно это означает доступ ко всем видео и некоторым задачам, но сертификат получить будет нельзя. Если ситуация с деньгами сложная, а сертификат хочется, то можно написать письмо (загуглите, как это сделать), чтобы курс открыли бесплатно. Обычно Coursera лояльны в этом отношении и с высокой вероятностью идут навстречу.
Учитесь и берегите себя! Всем классной, вашей, продуктивной недели. 🐠
Stepik: online education
Программирование на Python
Курс посвящен базовым понятиям и элементам языка программирования Python (операторы, числовые и строковые переменные, списки, условия и циклы). Курс является вводным и наиболее подойдет слушателям, не имеющим опыта написания программ ни на одном из языков…
Forwarded from CoolPython
Материалы
Уже не в первый раз в фидбэке просите посоветовать материалы по Python. В этом посте подборка ресурсов, которые нравятся мне самой. Фактически, конечно, это реклама, которой мне хотелось на канале избежать, но раз такой запрос, то поехали.
Люди часто учатся на платных курсах, потому что это заставляет их ответственнее подходить к обучению: раз вложился деньгами, то надо закрывать дедлайны. Но я сама несколько травмирована системой образования с сессиями. Я считаю, что обучение это процесс личный, даже интимный, и надо давать студентам время. Иначе люди начинают либо забивать, либо сдавать домашки, не понимая их, либо ненавидеть процесс. Поэтому ниже набор бесплатных или условно бесплатных курсов и лекций, которые можно пройти в своем темпе. По возрастанию сложности:
🐟Базовый курс по Python (циклы, словари/строки/списки и прочие основы языка) есть на Stepik.
🐟Еще есть хорошая специализация на Coursera. Сначала основы языка, потом более продвинуто: детали, ООП на Python, тестирование, многопоточность, асинхронность и веб-программирование. Мне нравится, что все подробно, с примерами, с задачами на грейдере и близко к реальному миру.
🐟Дока к языку — это must. Можно начать с PEP8, PEP20 и FAQ.
🐟Для начинающих мне нравится Дэн Бейдер <<Чистый Пайтон>>. Книжка базовая, но очень человечная, автор объясняет вещи простым языком и дает примеры из своего опыта разработки. Но перед покупкой книжки советую посмотреть бложек, потому что книга сделана по его мотивам, только тексты расположены в порядке, удобном для усвоения.
🐟Часто рекомендуют Лутца <<Изучаем Python>> в двух томах, но я его не очень люблю. Есть такой буддистский коан, в котором учитель льет чай в чашку ученика, пока чай не начинает литься через край. Так же происходит, когда мы пытаемся слишком быстро что-то усвоить и в действительности материал не укладывается в голове. ИМХО, сложность в Лутце растет слишком быстро, но если это и в кайф, то вперед.
🐟В Питере, на моей исторической родине, есть Computer Science Center. Это что-то вроде независимой магистратуры, где дают прекрасное образование, читают курсы по программированию и открытые тематические лекции. У них есть бомбический канал на YouTube, где можно заценить уровень ребят. Очень советую этот курс по Python за глубину и хорошую проработку материала. На канале есть и другие курсы.
🐟Если хотите с головой окунуться в многопоточность, асинхронность и разобраться, что такое GIL, есть великолепные доклады с ливкодингом от гуру Python Дэвида Бизли.
🐟И если все еще не хватает хардкора, то Филип Гуо на протяжении 10 лекций разбирается в исходниках CPython. Это прям самое крутое из того, что находила в последнее время.
Не то чтобы это был необходимый запас для разработки, но если начал рекомендовать курсы, становится трудно остановиться. Еще есть алгоритмы (1, 2), основы линукса (1, 2), bash, сетей, git и баз данных(1, 2). Можно дополнить пет-проектом и наскребете аналог одного-двух лет бакалавриата по специальности.
А еще всегда можно оставаться на канале Python in depth, я здесь говорю о простых и сложных штуках. Если есть еще какие-нибудь запросы или можете чем-нибудь дополнить мой список, пишите в фидбэк, обсудим.
PS: Кстати, о Coursera. Если курс покупать не хочется или нет возможности, то многие курсы там можно пройти в режиме слушателя. Обычно это означает доступ ко всем видео и некоторым задачам, но сертификат получить будет нельзя. Если ситуация с деньгами сложная, а сертификат хочется, то можно написать письмо (загуглите, как это сделать), чтобы курс открыли бесплатно. Обычно Coursera лояльны в этом отношении и с высокой вероятностью идут навстречу.
Учитесь и берегите себя! Всем классной, вашей, продуктивной недели. 🐠
#лекции #курсы #век_живи #основы
Уже не в первый раз в фидбэке просите посоветовать материалы по Python. В этом посте подборка ресурсов, которые нравятся мне самой. Фактически, конечно, это реклама, которой мне хотелось на канале избежать, но раз такой запрос, то поехали.
Люди часто учатся на платных курсах, потому что это заставляет их ответственнее подходить к обучению: раз вложился деньгами, то надо закрывать дедлайны. Но я сама несколько травмирована системой образования с сессиями. Я считаю, что обучение это процесс личный, даже интимный, и надо давать студентам время. Иначе люди начинают либо забивать, либо сдавать домашки, не понимая их, либо ненавидеть процесс. Поэтому ниже набор бесплатных или условно бесплатных курсов и лекций, которые можно пройти в своем темпе. По возрастанию сложности:
🐟Базовый курс по Python (циклы, словари/строки/списки и прочие основы языка) есть на Stepik.
🐟Еще есть хорошая специализация на Coursera. Сначала основы языка, потом более продвинуто: детали, ООП на Python, тестирование, многопоточность, асинхронность и веб-программирование. Мне нравится, что все подробно, с примерами, с задачами на грейдере и близко к реальному миру.
🐟Дока к языку — это must. Можно начать с PEP8, PEP20 и FAQ.
🐟Для начинающих мне нравится Дэн Бейдер <<Чистый Пайтон>>. Книжка базовая, но очень человечная, автор объясняет вещи простым языком и дает примеры из своего опыта разработки. Но перед покупкой книжки советую посмотреть бложек, потому что книга сделана по его мотивам, только тексты расположены в порядке, удобном для усвоения.
🐟Часто рекомендуют Лутца <<Изучаем Python>> в двух томах, но я его не очень люблю. Есть такой буддистский коан, в котором учитель льет чай в чашку ученика, пока чай не начинает литься через край. Так же происходит, когда мы пытаемся слишком быстро что-то усвоить и в действительности материал не укладывается в голове. ИМХО, сложность в Лутце растет слишком быстро, но если это и в кайф, то вперед.
🐟В Питере, на моей исторической родине, есть Computer Science Center. Это что-то вроде независимой магистратуры, где дают прекрасное образование, читают курсы по программированию и открытые тематические лекции. У них есть бомбический канал на YouTube, где можно заценить уровень ребят. Очень советую этот курс по Python за глубину и хорошую проработку материала. На канале есть и другие курсы.
🐟Если хотите с головой окунуться в многопоточность, асинхронность и разобраться, что такое GIL, есть великолепные доклады с ливкодингом от гуру Python Дэвида Бизли.
🐟И если все еще не хватает хардкора, то Филип Гуо на протяжении 10 лекций разбирается в исходниках CPython. Это прям самое крутое из того, что находила в последнее время.
Не то чтобы это был необходимый запас для разработки, но если начал рекомендовать курсы, становится трудно остановиться. Еще есть алгоритмы (1, 2), основы линукса (1, 2), bash, сетей, git и баз данных(1, 2). Можно дополнить пет-проектом и наскребете аналог одного-двух лет бакалавриата по специальности.
А еще всегда можно оставаться на канале Python in depth, я здесь говорю о простых и сложных штуках. Если есть еще какие-нибудь запросы или можете чем-нибудь дополнить мой список, пишите в фидбэк, обсудим.
PS: Кстати, о Coursera. Если курс покупать не хочется или нет возможности, то многие курсы там можно пройти в режиме слушателя. Обычно это означает доступ ко всем видео и некоторым задачам, но сертификат получить будет нельзя. Если ситуация с деньгами сложная, а сертификат хочется, то можно написать письмо (загуглите, как это сделать), чтобы курс открыли бесплатно. Обычно Coursera лояльны в этом отношении и с высокой вероятностью идут навстречу.
Учитесь и берегите себя! Всем классной, вашей, продуктивной недели. 🐠
#лекции #курсы #век_живи #основы
Stepik: online education
Программирование на Python
Курс посвящен базовым понятиям и элементам языка программирования Python (операторы, числовые и строковые переменные, списки, условия и циклы). Курс является вводным и наиболее подойдет слушателям, не имеющим опыта написания программ ни на одном из языков…
Forwarded from Junction Bot
TM FEED
[Перевод] Юнит-тесты на Python: Быстрый старт
https://habr.com/ru/post/481806/
Tags: Блог компании OTUS. Онлайн-образование, Python, Тестирование веб-сервисов, Unittest, Unit Testing, QA, Testing
Author MaxRokatansky on #habrahabr
@
[Перевод] Юнит-тесты на Python: Быстрый старт
https://habr.com/ru/post/481806/
Tags: Блог компании OTUS. Онлайн-образование, Python, Тестирование веб-сервисов, Unittest, Unit Testing, QA, Testing
Author MaxRokatansky on #habrahabr
@
Хабр
Юнит-тесты на Python: Быстрый старт
Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки...
Forwarded from AnTonic
Python: простые, но полезные советы по оптимизации кода — Академия Яндекса
https://academy.yandex.ru/posts/python-prostye-no-poleznye-sovety-po-optimizatsii-koda
https://academy.yandex.ru/posts/python-prostye-no-poleznye-sovety-po-optimizatsii-koda
Forwarded from Отборные сливы (Влад Иванов)
Очень хороший курс от Udemy «Python 3 - программирование для начинающих»
Все раскладывают по полочкам, от А до Я. Язык очень популярный, функциональный и относительно простой в изучении. В конце статьи ссылка на сегодняшний вебинар от Geekbrains по созданию Телеграм-ботов, не пропустите!
Читайте описание и качайте (https://goo.gl/KKCW71)
Или сразу качайте (https://goo.gl/Wc8onq)
Все раскладывают по полочкам, от А до Я. Язык очень популярный, функциональный и относительно простой в изучении. В конце статьи ссылка на сегодняшний вебинар от Geekbrains по созданию Телеграм-ботов, не пропустите!
Читайте описание и качайте (https://goo.gl/KKCW71)
Или сразу качайте (https://goo.gl/Wc8onq)
Telegraph
Python 3 - программирование для начинающих (2017)
Один из лучших курсов по одному из лучших языков программирования от одной из лучших образовательных платформ Udemy. В этом курсе вы изучите Python от самых азов, от основных понятий до сложных конструкций, например, создание класса, то есть по окончанию…
Forwarded from Отборные сливы (slivyt)
🔥Курс по Python за 20000 рублей для вас бесплатно!
Если я не ошибаюсь, то это самый свежий слив по Python. Качайте материал и прокачивайте свои навыки!
Python - относительно простой и функциональный язык, который можно использовать для решения множества задач в разных сферах. В статье как обычно описание и бонусные материалы от меня.
Читайте статью и качайте (https://goo.gl/LiQMHA)
Или сразу качайте курс (https://goo.gl/2QVRrh)
Пароль: slivytg
Если я не ошибаюсь, то это самый свежий слив по Python. Качайте материал и прокачивайте свои навыки!
Python - относительно простой и функциональный язык, который можно использовать для решения множества задач в разных сферах. В статье как обычно описание и бонусные материалы от меня.
Читайте статью и качайте (https://goo.gl/LiQMHA)
Или сразу качайте курс (https://goo.gl/2QVRrh)
Пароль: slivytg
Telegraph
Python: программирование на каждый день
Курс стоимостью 20000 рублей теперь бесплатный! Материал 2017 года от Нетологии. По-моему эксклюзив в Телеграм, потому что на других топовых каналах я такого не видел. Сливали курс по Python от Geekbrains, но он 2015 года. Подойдет как новичкам, так и профи.…
смотря какой результат ожидаешь) fastapi это если ты хочешь сделать proxy для той апи (возможно я ошибаюсь, может колеги поправят).
если ты хочешь дать пользователю выбор, использовать твою либу в блокирующем или не блокирующем режиме, то поиграться с asyncio.Lock/Semaphore, или разделить на 2 модуля (например import mylib.blocking и import mylib.aio)
если ты хочешь дать пользователю выбор, использовать твою либу в блокирующем или не блокирующем режиме, то поиграться с asyncio.Lock/Semaphore, или разделить на 2 модуля (например import mylib.blocking и import mylib.aio)
Глянь на https://github.com/miyakogi/syncer. Я как раз планирую решать схожую задачу как раз с ним.
GitHub
GitHub - miyakogi/syncer: Async to sync converter
Async to sync converter. Contribute to miyakogi/syncer development by creating an account on GitHub.
Python Academy
Современная образовательная организация в сфере IT
Задать вопрос: @python_academy_robot
Основатели: @a1f20 и @dartrisen
https://t.me/python_academy
Современная образовательная организация в сфере IT
Задать вопрос: @python_academy_robot
Основатели: @a1f20 и @dartrisen
https://t.me/python_academy
Telegram
Python Academy
Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu
Forwarded from Junction Bot
TM FEED
[Перевод] Новые фичи Python 3.8 и самое время перейти с Python 2
https://habr.com/ru/post/483276/
Tags: Python, Программирование, Python 3.8
Author germn on #habrahabr
@
[Перевод] Новые фичи Python 3.8 и самое время перейти с Python 2
https://habr.com/ru/post/483276/
Tags: Python, Программирование, Python 3.8
Author germn on #habrahabr
@
Хабр
Новые фичи Python 3.8 и самое время перейти с Python 2
Наступил 2020 год, а значит, Python 2 перестал поддерживаться. Если быть совсем точным, то основные разработчики уже перестали заниматься веткой, а выход релиза...
Forwarded from CoolPython
Введение в декораторы
В нескольких следующих постах я хочу поговорить о декораторах. Будет базовое определение, мотивация их использовать, всякие хитрости, а еще куча примеров.
Прежде, чем говорить о декораторах, нужно кое-то узнать о функциях в Python. Допустим, у нас есть функция, которая здоровается с Юпи:
🐙 Функцию можно присвоить переменной:
Это и назвается декоратор. Это настолько удобный и мощный инструмент, что в Python для него придумали спецальный синтаксический сахар. При условии, что функция
🐙 Декораторы используют в веб фреймворках для проверки авторизации или для разделения групп пользователей. Например, часть методов доступна только авторизованным пользователям, либо пользователям с определенной ролью, а остальные методы -- всем. Для этого нужные методы оборачивают в декораторы, которе делают необходимые проверки.
🐙 Декораторы позволяют проверить, что аргументы функции имеют нужный тип и значения. Это можно сделать на входе в функцию, но иногда проверки переносят в функцию-обертку.
🐙 С помощью декоратора можно замерять время выполнения функций.
В следующих постах разберемся, как комбинировать декораторы и передавать в декоратор параметры. Всем пять!🐠
В нескольких следующих постах я хочу поговорить о декораторах. Будет базовое определение, мотивация их использовать, всякие хитрости, а еще куча примеров.
Прежде, чем говорить о декораторах, нужно кое-то узнать о функциях в Python. Допустим, у нас есть функция, которая здоровается с Юпи:
def hey_Jupi():
print("Привет, Юпи!")
Функции в Python -- это объекты первого класса, ничем не хуже, чем int
'ы или словари. Это значит, что:🐙 Функцию можно присвоить переменной:
say_hi = hey_Jupi
say_hi()
# Привет, Юпи!
🐙 Функцию можно вернуть из функции:
def wrapper(func):
print("Юпи пришла.")
return func
hello_Jupi = wrapper(hey_Jupi)
# Юпи пришла.
hello_Jupi()
# Привет, Юпи!
🐙 Функцию можно определить внутри другой функции:
def deco(func):
def wrapper():
print("Юпи пришла.")
func()
return wrapper
hey_Jupi = deco(hey_Jupi)
hey_Jupi()
# Юпи пришла.
# Привет, Юпи!
Смотрите, что получилось на последнем шаге. На этапе создания deco
никакой код не выполняется -- мы заходим в deco
, видим, что здесь определена функция wrapper
и возвращаем ее. Таким образом мы подменяем исходную hey_Jupi
на wrapper и получаем новое поведение hey_Jupi
, не изменяя ее код!Это и назвается декоратор. Это настолько удобный и мощный инструмент, что в Python для него придумали спецальный синтаксический сахар. При условии, что функция
deco
у нас уже определена так же, как выше, можно добавить название декоратора с символом @
перед определением функции и получить эквивалентное поведение:
@deco
def hey_Jupi():
print("Привет, Юпи!")
hey_Jupi()
# Юпи пришла.
# Привет, Юпи!
Кстати, этот же декоратор можно применить и к любой другой функции:
@deco
def take_five():
print("Юпи, дай пять!")
take_five()
# Юпи пришла.
# Юпи, дай пять!
Декораторы круты тем, что позоляют гибко модифицировать поведение функции, применять одну и ту же модификацию к нескольким функциям сразу и даже менять поведение функций, доступа к коду которых у нас нет! Зачем нам декораторы на реальных проектах?🐙 Декораторы используют в веб фреймворках для проверки авторизации или для разделения групп пользователей. Например, часть методов доступна только авторизованным пользователям, либо пользователям с определенной ролью, а остальные методы -- всем. Для этого нужные методы оборачивают в декораторы, которе делают необходимые проверки.
🐙 Декораторы позволяют проверить, что аргументы функции имеют нужный тип и значения. Это можно сделать на входе в функцию, но иногда проверки переносят в функцию-обертку.
🐙 С помощью декоратора можно замерять время выполнения функций.
В следующих постах разберемся, как комбинировать декораторы и передавать в декоратор параметры. Всем пять!🐠
Есть вот такой словарь:
Как получить имя самого старшего спортсмена?
Решение через полчаса.
sports ={
'Nikolai':{
'weight':92,
'height':187,
'age':32
},
'Natasha':{
'weight':65,
'height':170,
'age':24
},
'Boris':{
'weight':87,
'height':180,
'age':28
}
}
Как получить имя самого старшего спортсмена?
Решение через полчаса.
Forwarded from # pip install (Student B.)
🔥 Pathlib - манипуляция путями, создание и удаление папок и файлов
🎯 Telegram Чат: @python_scripts
🎯 Канал: @pip_install
Модуль Pathlib в Python упрощает работу с файлами и папками. Он доступен в Python 3.4 и более поздних версиях. Pathlib сочетает в себе лучшее из модулей файловой системы Python — os, os.path, glob и так далее.
Содержание статьи
1. Концепт пути и директории в Python
2. Как использовать модуль Pathlib?
3. Зачем использовать модуль Pathlib?
4. Создание и удаление папок через Pathlib
5. Генерация кроссплатформенных путей в Pathlib
6. Получение информации о пути в Pathlib
7. Альтернатива для модуля glob
8. Чтение и запись файлов с использованием Pathlib
Подробнее: https://python-scripts.com/pathlib
🎯 Telegram Чат: @python_scripts
🎯 Канал: @pip_install
Модуль Pathlib в Python упрощает работу с файлами и папками. Он доступен в Python 3.4 и более поздних версиях. Pathlib сочетает в себе лучшее из модулей файловой системы Python — os, os.path, glob и так далее.
Содержание статьи
1. Концепт пути и директории в Python
2. Как использовать модуль Pathlib?
3. Зачем использовать модуль Pathlib?
4. Создание и удаление папок через Pathlib
5. Генерация кроссплатформенных путей в Pathlib
6. Получение информации о пути в Pathlib
7. Альтернатива для модуля glob
8. Чтение и запись файлов с использованием Pathlib
Подробнее: https://python-scripts.com/pathlib