TGTGInsightinteligencia telegramLIVE / telegram public index
Volver a canales
Python Academy avatar

TGINSIGHT CHAT

Python Academy

@python_academy

Educación

Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu

Suscriptores4.5万Suscriptores actuales
Posts rastreados1,014Posts indexados
Alcance reciente77,890Vistas de posts recientes
Posts recientes

Posts recientes

Pág. 43 de 85 · 1,014 posts

Publicado 22 dic

Метод setdefault() Метод setdefault() в Python возвращает значение по указанному ключу из словаря. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение. Метод setdefault() имеет два параметра: — Ключ, по которому необходимо получить значение. — Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует. Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение. #python

6,690 views

Hashtags

Publicado 20 dic

Перегрузка операторов Сначала стоит напомнить, что методы, которые начинаются и заканчиваются двойными нижними подчеркиваниями, называются магическими. Например, выше в классе Point мы определили __str__, который отвечает за то, как выводятся объекты класса на экран. Для перегрузки оператора "+" нужно определить метод __add__. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения. Таким образом, когда разработчик пишет запись p1 + p2, интерпретатор воспринимает это в виде Point.__add__(p1, p2). Для всех операторов в языке, включая и логические, есть свои магические методы. #классы

6,280 views

Publicado 18 dic

Более простой способ создания контекстных менеджеров Почти год назад на канале было объяснение про то, что такое контекстные менеджеры и зачем они нужны. Также был пост, показывающий, как создавать классы с использованием протокола менеджера контекста. Но не всегда хочется реализовывать магические методы __enter__ и __exit__. В качестве альтернативы есть один классный прием в пакете contextlib. Там протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции tag, которая идёт до yield, выполняется при входе в блок with. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть функции tag. #contextlib

6,630 views

Hashtags

Publicado 16 dic

Делаем HTTP запросы Пакет requests абстрагирует сложности выполнения запросов за красивым, простым API, чтобы вы могли сосредоточиться на взаимодействии с сервисами и работе с данными в ваших приложениях. Устанавливается requests стандартным путем через пакетный менеджер pip. Запросы GET, POST, PUT и DELETE делаются интуитивно понятно. Атрибуты у объекта Response позволяют получить всю информацию об ответе от сервера. Модуль идеально подходит как для работы со внешними API веб-сервисов, так и для получения HTML кода веб-страниц. #requests

6,890 views

Hashtags

Publicado 14 dic

Использование списков в качестве стеков Стек – абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (last in – first out). В переводе с английского "последним пришёл – первым вышел". Списки в Python имеют удобные встроенные методы, которых достаточно для реализации такой структуры данных. Для добавления элемента в конец стека используем метод append, для извлечения – pop. Программный вид стека применяется для обхода структур по типу графов и деревьев. При реализации рекурсивных функций также будет применяться стек, но в таком случае уже его аппаратный вид. #списки#стек

6,830 views

Publicado 12 dic

Добавляем классу большую функциональность На прошлой неделе мы объясняли декоратор @classmethod, а сейчас рассмотрим @staticmethod. @staticmethod можно воспринимать как метод, который "не знает, к какому классу относится". Он просто получает переданные аргументы, без неявного первого аргумента, и его определение не изменяется через наследование. Еще раз: статические методы прикреплены к классу лишь для удобства — и не могут менять состояние ни класса, ни его экземпляра. Зачем использовать. Статические методы делают код более читабельным и повторно используемым. Его также удобнее использовать для импорта по сравнению с обычными функциями, поскольку функцию не нужно отдельно импортировать. В чем же разница? @classmethod используется в суперклассе для определения того, как метод должен вести себя, когда он вызывается разными дочерними классами. @staticmethod используется, когда мы хотим вернуть объект, независимо от вызываемого дочернего класса.

6,560 views

Publicado 11 dic

Протоколы Термины "протокол итератора" или "протокол дескрипторов" уже привычны и используются давно. Но теперь можно описывать протоколы в виде кода и проверять их соответствие на этапе статического анализа. Протокол описывается как обычный класс, наследующийся от Protocol. Он может иметь методы (в том числе с реализацией) и поля. Реальные классы, реализующие протокол могут наследоваться от него, но это не обязательно, как показано в примере. Хоть это и не совсем интерфейсы, но все же классная штука. Еще важно, что протоколы, как и все остальные фишки аннотаций типов, используются в основном со статически типизированным mypy. #typing#аннотации

5,420 views

Publicado 10 dic

Отправляем универсальные уведомления Наткнулся на интересный пакет notifiers, который позволяет отправлять уведомления на почту, через Телеграм бота, в Слэк и еще много куда. Всего доступно 16 провайдеров, подробнее про них в документации. В функцию get_notifier передаем название провайдера в виде строки и получаем объект, с которым можно работать. Отправить уведомление можно с помощью универсального метода notify. Если не уверены, какие аргументы нужно передать для отправки уведомления, то можете посмотреть их через атрибут required у созданного объекта. Например, для Телеграма нужно передать токен бота, айди чата и само сообщение. В случае с почтой необходимо указать логин, пароль, адресата и также сообщение. #уведомления#notifiers

6,410 views

Publicado 8 dic

Работаем с картинками в Python Библиотека Pillow — это очень мощный, быстрый и удобный инструмент для обработки графики в Python. В сегодняшнем примере мы применим ее для конвертации картинки в черно-белую, обратим цвета, вертикально отзеркалим и сохраним в файл. Метод Image.open('resources/img/cat.jpg') считывает картинку из папки. img.convert('L') трансформирует картинку в черно-белую. ImageOps.invert(image) обращает цвета. img.transpose(Image.FLIP_LEFT_RIGHT) вертикально отзеркаливает картинку. img.save('grayscale_cat.jpg') сохранит картинку на диске.

6,700 views

Publicado 6 dic

Познакомьтесь с IceCream: Улучшенным выводом в Python Hедавно мы наткнулись на потрясающий инструмент для отладки и разработки в Python, и хотим поделиться им с вами! Представляем вам icecream - библиотеку, которая упрощает отладку, улучшая вывод ваших данных. Что такое icecream? icecream - это легковесная библиотека для Python, которая предоставляет простые, но мощные инструменты для отслеживания и вывода значений переменных и данных в процессе выполнения кода. Этот инструмент полезен при отладке, тестировании и разработке, помогая вам лучше понять, что происходит в вашей программе. Преимущества icecream перед стандартным print: 1. Читабельность и простота в использовании: icecream автоматически выводит имя переменной и ее значение, что делает вывод более понятным и читабельным. 2. Цветовая кодировка: icecream поддерживает цветовую кодировку вывода, что делает его более наглядным и удобным для анализа. Настройка icecream: icecream позволяет настраивать вывод, добавлять дополнительную информацию, и даже сохранять логи в файл. Вы можете настроить icecream в соответствии с вашими потребностями, делая вывод более информативным и удобным. from icecream import ic, install install(autodetect=True, includeContext=True) number = 42 ic(number) text = "Привет, мир!" ic(text) Это добавит контекст, такой как имя файла и номер строки, в вывод: ic| <ipython-input-1-5a0d5d83d2d3>:1 in <module> - number: 42 ic| <ipython-input-1-5a0d5d83d2d3>:4 in <module> - text: 'Привет, мир!' Автор идеи поста: @hexvel Если у вас есть предложения для следующего поста, делитесь в комментариях! #Python#logging#icecream

6,590 views

Publicado 6 dic

Wget Наверняка вам не раз приходилось писать методы для какой-то специфической работы с вебом. Но я вас огорчу – вы делали это зря. Ведь уже есть wget. Рекурсивно скачать сайт? Забрать со страницы все изображения? Для wget это не проблема.

6,210 views

Publicado 4 dic

Метод sets.issubset() Метод sets.issubset() позволяет проверить находится ли каждый элемент множества sets в последовательности other. Метод возвращает True, если множество sets является подмножеством итерируемого объекта other, если нет, то вернет False. Синтаксис: sets.issubset(other).

6,680 views
12•••5•••10•••15•••20•••25•••30•••35•••404142434445•••50•••55•••60•••65•••70•••75•••80•••8485