Python академия. Учи Python быстро и легко. По всем вопросам @evgenycarter
-25% на анализы в ИНВИТРО по подписке Газпром Бонус.
Выберите только нужные предложения из более 60 офферов партнеров в подписку и получайте выгоду каждый день.
Подключите Газпром Бонус с предложением Инвитро всего за 2 ₽ в первый месяц.
Узнать больше
Есть противопоказания. Посоветуйтесь с врачом.
#реклама
invitro.gazprombonus.ru
О рекламодателе
Кэшированные атрибуты
Во встроенном пакете functools есть классный декоратор @ cached_property, который позволяет кэшировать результат метода и загнать его в атрибут.
Таким образом, при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэшеирование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
Подписывайтесь на канал 👉@pythonofff
Сколько времени может работать код
Вы не задумывались, сколько именно времени занимает работа кода в рамках одной ячейки?
Магическая команда time позволяет получить всю необходимую информацию о времени.
Подписывайтесь на канал 👉@pythonofff
Что означает self в методах
При вызове методов у объектов сам объект передается первым аргументом, если это не статический метод. И такой аргумент принято называть self, который новички прописывают в классах, даже не задумываясь о его значении.
И к счастью, все это происходит автоматически — вручную объект передавать не надо. Но для того, чтобы понять этот момент лучше, можно вызвать метод напрямую у класса и явно передать объект (пример на картинке).
Далее, уже внутри метода можно обращаться к атрибутам и другим методам у объекта. Для этого он и передается.
Проще говоря, если откинуть все технические детали, то можно сказать следующее: self указывает, что мы как бы применяем метод к самому объекту.
Подписывайтесь на канал 👉@pythonofff
Виртуальные среды
И так к нашему счастью, в Python есть поддержка виртуальных сред, которые позволяют взять лучшее от двух миров.
Так же вы теперь можете иметь разные независимые версии Python на одной машине
Подписывайтесь на канал 👉@pythonofff
Ответьте на 1 вопрос и книги ваши до конца весны за 0 ₽
Более 250 000 книг и аудиокниг разных жанров в Букмейте. Попробуйте бесплатно!
Попробовать
#реклама 16+
bookmate.ru
О рекламодателе
Упрощенная работа с JSON
Казалось бы, куда еще проще, но есть один интересный пакет JMESpath, который позволяет декларативно указать, как извлекать элементы из документа JSON.
Основные примеры использования показаны на картинке, там нет ничего сложного. Метод search принимает паттерн, по которому требуется извлечь данные, а также словарь (который в общем-то похож на JSON).
Подписывайтесь на канал 👉@pythonofff
Можно разбить строки в список
В этом случае разбиение происходит по символу пробела
Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().
Split также имеет второй параметр, называемый maxsplit, который определяет максимальное количество разбиений. По умолчанию он равен -1 (без ограничений).
Подписывайтесь на канал 👉@pythonofff
Полезные уроки для врачей! Получите бесплатный доступ!
Международная образовательная платформа, объединившая более чем 100 000 врачей
Полезные уроки для врачей! Удобная подача материала!
Получите подарок за регистрацию – Чек-лист «Физикальный осмотр пациента»
Зарегистрироваться
#реклама 16+
kurs.uniprof-med.com
О рекламодателе
POST - запрос
Для чего мы используем запрос POST? Для добавления новых данных в REST API. Все данные отправляются на сервер в формате JSON, который выглядит как словарь Python. Согласно документации Fake Store API, у продукта есть следующие атрибуты: title, price, description, image и category
Подписывайтесь на канал 👉@pythonofff
Перегрузка операторов - о которых говорят все настоящие computer-scientis’ы
В Python есть поддержка перегрузки операторов — одной из тех штук.
На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.
Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете
Подписывайтесь на канал 👉@pythonofff
Бесплатный 14-дневный онлайн-курс по дизайну интерьеров
Давно хочешь работать в творческой сфере и иметь доход от 100 тыс/мес? Тебе не нужно уметь рисовать или прямо сейчас принимать решение. Просто приходи и попробуй! Вдруг понравится создавать уютные интерьеры и ты найдешь в этом себя.
Регистрируйся на практический курс по дизайну интерьера с личным наставником. Осталось 7 мест!
Зарегистрироваться
#реклама 16+
diskill.ru
О рекламодателе
Совет по работе с Pytest
По умолчанию Pytest собирает все тесты в корневом каталоге и его подкаталогах.
Чтобы ускорить сбор тестов и избежать нежелательных тестов, задайте «testpaths» в конфигурационном файле.
Подписывайтесь на канал 👉@pythonofff
Кредит для бизнеса в Альфа-Банке
Скидка на кредит 5% при оформлении Защиты Бизнеса.
Скидка на ставку 13% при оформлении Подписки на кредит
Сумма за 5 минут. Узнайте размер доступного кредита без открытия расчетного счета
Деньги сразу на счет ИП или юрлица.
Подать заявку
Финансовые услуги оказывает: АО "АЛЬФА-БАНК", АО "АльфаСтрахование".
#реклама
alfabank.ru
О рекламодателе
Логические all и any
Одна из многих причин, почему Python является таким популярным языком, заключается в том, что он читаем и выразителен. Предлагаю взглянуть на прикрепленный код.
Функция any возвращает значение True, если хотя бы одно из переданных утверждений верно, all – в случае, если все верны.
На мой взгляд, эти две функции заслуживают отдельного внимания всего лишь из-за их простоты в использовании.
Подписывайтесь на канал 👉@pythonofff
Запрос DELETE
Вам нужно удалить ресурс из API? Вы можете использовать запрос DELETE. Здесь мы будем удалять товар с идентификатором, равным 21
Подписывайтесь на канал 👉@pythonofff
Телеграм-канал с авторскими онлайн-курсами
У образовательной платформы Stepik есть свой телеграм-канал, в котором они рассказывают об авторских курсах (как платных, так и бесплатных). Эта платформа славится в первую очередь своими курсами по Python. У них есть такие подборки курсов:
- Python для разработки
- Web-разработка на Python
- Python для анализа данных
- Тестирование на Python
Подпишитесь на stepik_courses и найдите интересующий курс для себя!
Подписаться
#реклама 16+
О рекламодателе
Подборка Telegram каналов для программистов
Системное администрирование 📌
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux
/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT.
/channel/phis_mat Обучающие видео, книги по Физике и Математике
/channel/php_lib Библиотека PHP программиста 👨🏼💻👩💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста
1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus
Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах
GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
/channel/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
/channel/game_devv Все о разработке игр
Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT
Чат программистов📌
/channel/developers_ru
Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов
БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию
QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика
Шутки программистов 📌
/channel/itumor Шутки программистов
Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров
Английский 📌
/channel/UchuEnglish Английский с нуля
Математика 📌
/channel/Pomatematike Канал по математике
Excel лайфхак📌
/channel/Excel_lifehack
Что вы теряете, не пользуясь кредиткой от Тинькофф?
✅ Кэшбэк за покупки
✅ Лимит до 1 млн рублей
✅ До 120 дней без процентов на погашение других кредитов
✅ До 12 месяцев без процентов на покупки в рассрочку
✅ Бесплатные переводы до 100 тысяч рублей в месяц
Всё-таки заинтересованы в выгоде?
Тогда оформите заявку онлайн, а мы примем решение за 2 минуты и доставим карту уже сегодня!
Подать заявку
Финансовые услуги оказывает: АО "Тинькофф Банк", АО "Тинькофф Страхование".
#реклама
tinkoff.ru
О рекламодателе
Получаем срез из бесконечного генератора
Вероятно, у многих были случаи, когда требовалось получить конечный список элементов из бесконечного генератора.
И в целом задача вполне простая, но сейчас рассмотрим лаконичный вариант — воспользуемся пакетом itertools, в котором есть функции на все случаи генераторов.
В нашем случае понадобится islice, который как раз берет "срез" из генератора. В аргументах указываем объект генератора и длину среза.
Для примера мы написали функцию-генератор, которая вычисляет числа Фибоначчи. Результат можете посмотреть на картинке.
Подписывайтесь на канал 👉@pythonofff
Создание списков в Python
Для того чтобы создать новый список, сначала нужно дать ему имя. Затем добавьте оператор присваивания (=) и пару квадратных скобок. Внутри скобок нужно добавить значения, которые должны содержаться в списке.
Подписывайтесь на канал 👉@pythonofff
Ответьте на вопрос и музыка ваша 90 дней бесплатно
Яндекс Музыка для вас и 3-х ваших близких 90 дней бесплатно. Попробуйте сейчас!
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
YAML — не язык разметки
Это язык форматирования данных, который является надмножеством JSON.
В отличие от JSON, YAML может хранить более сложные объекты и ссылаться на собственные элементы.
Модуль PyYAML позволяет использовать YAML в Python.
PyYAML позволяет нам хранить любые Python-объекты и экземпляры абсолютно любых пользовательских классов.
Подписывайтесь на канал 👉@pythonofff
Флаги явного преобразования
Флаг явного преобразования (Explicit Conversion Flag) используется для преобразования значения поля format перед его непосредственным форматированием.
Это поле можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования:
!r — преобразует значение в строку, используя функцию repr().
!s — преобразует значение в строку, используя функцию str().
В примере, в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s — без кавычек (в более удобном для чтения виде).
Подписывайтесь на канал 👉@pythonofff
Переезжай в Краснодар в свою квартиру! От 3,3 млн рублей
Квартиры в Краснодаре от проверенного застройщика. Большой выбор планировок. Выгодные условия! Выбери свою квартиру и живи на Юге.
Переходи по ссылке, чтобы получить фото, планировки и цены
Узнать больше
#реклама
tochno.life
О рекламодателе
Получаем и задаем лимит рекурсии
В Python не оптимизируется хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов.
Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Хотя делать это слегка опасно, так как каждый новый вызов занимает много памяти.
И вообще лучше стараться использовать не рекурсию, а обычные циклы, но это вы и так сами знаете.
Подписывайтесь на канал 👉@pythonofff
PUT
Иногда нам часто приходится обновлять существующие данные в API. Используя запрос PUT, мы можем обновить данные полностью. Это означает, что, когда мы делаем запрос PUT, он заменяет все старые данные новыми.
В запросе POST мы создали новый продукт с идентификатором 21. Обновив старый продукт на новый, сделав запрос PUT к конечной точке products/<product_id>.
Подписывайтесь на канал 👉@pythonofff
Редактируем видео
Пакет moviepy позволяет обрезать и склеивать видео, добавлять видеоэффекты, а также редактировать звук.
В целом, с пакетом разбораться не сложно, базовое использование показано на картинке. В примере мы открываем два видео, склеиваем их в одно, обрезаем полученный клип, уменьшаем громкость звука и в конце сохраняем результат.
Здесь еще важно отметить, что запуск и выполнение скриптов с обработкой видео может занять относительно большое время.
Такой пакет полезен в случаях, когда требуется обработать очень много видео по одному и тому же принципу.
Подписывайтесь на канал 👉@pythonofff
Аннотации типов
Позволяет ускорить процесс разработки. Но, мало что раздражает так сильно, как ошибка времени выполнения, возникшая из-за простого несовпадения типа.
К тому же они позволяют использовать инструменты для проверки типов, чтобы отлавливать ошибки TypeError.
Подписывайтесь на канал 👉@pythonofff
MBA в Школе Бизнеса "Синергия"
Курсы управления и предпринимательства
Рост дохода после обучения от 43% ⚡
Обучение для руководителей
Узнать больше
#реклама 16+
synergy.ru
О рекламодателе