Python community developers
1.38K subscribers
367 photos
45 videos
6 files
241 links
Сообщество программистов на языке Python🙂
🔥Разбор вопросов и задач с собеседований
🔥Обзор популярных библиотек и фишек языка
🔥Интересные идеи программ

Сотрудничество - @BorryaD

@Python_community_developers_bot
加入频道
Media is too big
VIEW IN TELEGRAM
▶️ Знакомство с множествами

В видео узнаем, что такое множество в Python, чем оно отличается от списка, какие методы существуют для работы с множествами и др

Множество в Python – это изменяемая структура данных, которая содержит уникальные и неупорядоченные элементы

Множества полезны в случаях, когда нужно быстро проверить наличие элемента или удалить дубликаты из больших объёмов данных

👀 Смотреть на RuTube
Использование функции functools.lru_cache для кэширования результатов

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

Использование functools.lru_cache позволяет существенно увеличить производительность программ, особенно когда речь идет о повторных вызовах с одинаковыми параметрами, что делает этот инструмент полезным для оптимизации кода.
⚙️ itertools для итерации более чем одного итерируемого объекта

ℹ️ Если вы когда-нибудь оказывались в ситуации, когда вы пишете вложенные циклы или сложные функции для итерации более чем одного итерируемого объекта, проверьте, есть ли нужная функция в библиотеке itertools.

🗣️ Возможно, вам не придется изобретать велосипед — Python учтёт все ваши потребности.

🔗 Ссылочка на доку
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍💻 Python фреймворки под разные задачи

🖱 Машинное обучение
🖱 Работа с БД
🖱 Парсинг/скрапинг
🖱 Работа с данными
🖱 Визуализация данных и д.р.

📂 Пригодится

#doc #python #soft
➡️ Проверка необходимой версии Python

✔️ Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python. Проведите простую проверку.
Безопасное извлечение вложенных значений из JSON с помощью dict.get

Когда вы работаете с JSON или вложенными словарями в Python, бывает полезно проверять наличие ключей перед тем, как получить их значение, чтобы избежать ошибок. Метод dict.get() позволяет безопасно извлекать значения, даже если ключ отсутствует.

Этот метод позволяет безопасно извлекать данные из вложенных структур, избегая распространенных ошибок и упрощая код при работе со сложными JSON или словарями.
📣 Интерпретация JSON | Как читать файлы JSON

JSON (JavaScript Object Notation – нотация объектов JavaScript) – это популярный способ структурирования данных. Он используется для обмена информацией между веб-приложением и сервером

В этой статье я покажу вам, как использовать методы json.loads() и json.load() для интерпретации (или как еще говорят парсинга) и чтения файлов и строк JSON

🖥 Читать подробнее
⚙️ Обязательные аргументы

➡️ Для принудительного использования аргументов ставьте символ звездочки (*) перед ними, заставляя все аргументы стать ключевыми.
🔥 Полезные библиотеки Python

G-Scraper
— встречайте интересный софт с графическим интерфейсом для простого парсинга различных сайтов.

🟢 Поддерживает 2 типа запросов; GET & POST;
🟢 Показывает всю добавленную вами информацию в списке;
🟢 Может парсить несколько URL-адресов;
🟢 Может парсить несколько элементов из одного URL-адреса (веб-страницы);
🟢 Может передавать параметры запроса в запрос, КРОМЕ ФАЙЛОВ (на данный момент);
🟢 Поскольку параметры могут передаваться, он также может обрабатывать авторизацию/регистрацию;
🟢 Сохраняет извлеченные данные в отдельной папке «data/scraped-data»
Имеет функцию ведения журнала: регистрирует 3 типа выходных данных;
🟢 Elemental (для элементов)
🟢 Pagical (для веб-страниц)
🟢 Error (для ошибок)
🟢 Обрабатывает все типы ошибок и много чего интересного.

Установка/Использование:
$ git clone https://github.com/muaaz-ur-habibi/G-Scraper.git

$ pip install -r requirements.txt

$ python gui.py


⚙️ GitHub/Инструкция

#python #soft #github
Indico

Indico — это мощная библиотека Python для извлечения информации из неструктурированных текстов, изображений и PDF-файлов. Она позволяет вам выполнять задачи обработки естественного языка (NLP), компьютерного зрения (CV) и машинного обучения (ML) с помощью простых и понятных API.

https://pypi.org/project/indico/
Media is too big
VIEW IN TELEGRAM
▶️ Знакомство с переменными и типами данных

Переменная – это простейшая именованная структура данных, в которой может быть сохранён промежуточный или конечный результат работы программы и типами данных

Она состоит из трёх частей:
Имя (или идентификатор) – это название, придуманное программистом, чтобы обращаться к переменной.
Значение – это информация, которая хранится в памяти компьютера и с которой работает программа.
Адрес – это номер ячейки памяти, в которой хранится значение переменной.

В Python типы данных можно разделить на:
Встроенные в интерпретатор (built-in): None (неопределённое значение переменной), логические переменные, числа, списки, строки, бинарные списки, множества, словари.
Не встроенные, которые можно использовать после импорта соответствующих модулей.

👀 Смотреть на YouTube
Редирект вывода программы

В contextlib есть еще один прикольный контекстный менеджер — redirect_stdout, позволяющий перенаправить стандартный вывод программы.

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

Таким образом, данные из print() в контекстом менеджере будут переправлены в открытый ранее файл, так как мы его передали в аргумент redirect_stdout.

Убедится в этом можем, открыв файл заново и прочитав оттуда данные.

#contextlib
➡️ Data classes

Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:

возврат нескольких значений или словарей;
класс данных требует минимального количества кода;
возможность сравнения классов данных;
возможность распечатать класс данных для отладки при помощи repr;
снижение вероятности ошибок в связи с требованием класса данных type hints.

Python Learning
👩‍💻
Автоматическое удаление временных файлов с помощью контекстного менеджера

При работе с временными файлами или файлами, которые нужны только во время выполнения программы, бывает полезно гарантировать их удаление после использования, чтобы не засорять файловую систему. Это можно сделать с помощью контекстного менеджера.

Этот метод позволяет удобно управлять временными файлами, гарантируя их удаление после использования, что помогает поддерживать чистоту и порядок в файловой системе.
🔥 Программисты, этот канал для вас! Мемы про код, баги и дедлайны, которые вы точно поймете. Ctrl+C / Ctrl+V — это не просто клавиши, а стиль жизни! 😂💻

🚀 Сделай перерыв и подпишись: t.me/memes_program
🔍 Поиск по изображению

Полезное расширение для браузеров Chrome, Edge и Safari.

Позволяет сделать снимок экрана или его части, затем выполнить поиск в 45 различных поисковых системах для поиска изображений.
Также можно выполнить поиск изображения по ссылке или загруженного с компьютера. ⌨️

⚙️ GitHub/Инструкция

#soft #github
Метод sets.issubset()

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

Синтаксис:
sets.issubset(other).
Altair

Библиотека Altair — это декларативная библиотека для создания статистических визуализаций.
Она основана на спецификации Vega-Lite и позволяет создавать сложные графики с минимальным количеством кода.

Altair предоставляет простой синтаксис для создания графиков, а также интегрируется с Jupyter Notebook и JupyterLab для интерактивного отображения графиков.

Результат работы кода — столбчатая диаграмма, отображающая цены на разные виды фруктов.

Если вы хотите сохранить график в виде файла, вы можете использовать метод save().

*На втором изображении представлен результат работы программы.
📣 24 лучшие библиотеки Python, с которыми вы должны познакомиться

Python имеет более ста тысяч библиотек на любой вкус, чем больше библиотек и пакетов в своем распоряжении имеет язык программирования, тем больше существует различных вариантов его использования

В данной статье мы перечислили несколько лучших библиотек для работы в Python

🖥 Читать подробнее
This media is not supported in your browser
VIEW IN TELEGRAM
💻 8 популярных сетевых протоколов с наглядным и простым объяснением

Сетевые протоколы работают на разных уровнях модели OSI, это важно знать.

Модель OSI — концептуальная структура, которая определяет сетевую систему как ряд уровней, каждый из которых имеет определенные функции, для облегчения передачи, управления и обработки данных в сети.

Эта многоуровневая архитектура обеспечивает стандартизированное взаимодействие между различными программными и аппаратными компонентами в сети.

🖱 𝗧𝗖𝗣/𝗜𝗣 (𝗧𝗿𝗮𝗻𝘀𝗺𝗶𝘀𝘀𝗶𝗼𝗻 𝗖𝗼𝗻𝘁𝗿𝗼𝗹 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹/𝗜𝗻𝘁𝗲𝗿𝗻𝗲𝘁 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)

Этот протокол является базовым методом передачи информации между устройствами в Интернете. В то время как IP отвечает за адресацию и маршрутизацию пакетов данных, TCP заботится о сборке данных в пакеты, а также о надежной доставке.

🖱 𝗛𝗧𝗧𝗣 (𝗛𝘆𝗽𝗲𝗿𝘁𝗲𝘅𝘁 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)

При доступе к веб-сайтам HTTP играет решающую роль. Он отвечает за получение и доставку веб-контента с серверов конечным пользователям.

🖱 𝗛𝗧𝗧𝗣𝗦 (𝗛𝘆𝗽𝗲𝗿𝘁𝗲𝘅𝘁 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹 𝗦𝗲𝗰𝘂𝗿𝗲)

Усовершенствованная версия HTTP, HTTPS объединяет протоколы безопасности (а именно TLS) для шифрования данных, обеспечивая безопасный и конфиденциальный обмен между браузерами и веб-сайтами.

🖱 𝗙𝗧𝗣 (𝗙𝗶𝗹𝗲 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)

Как следует из названия, FTP используется для передачи файлов (загрузки и скачивания) между компьютерами в сети.

🖱 𝗨𝗗𝗣 (𝗨𝘀𝗲𝗿 𝗗𝗮𝘁𝗮𝗴𝗿𝗮𝗺 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)

Более оптимизированный аналог TCP, UDP передает данные без накладных расходов на установление соединения, что приводит к более быстрой передаче, но без гарантии, что данные будут доставлены или будут в порядке.

🖱 𝗦𝗠𝗧𝗣 (𝗦𝗶𝗺𝗽𝗹𝗲 𝗠𝗮𝗶𝗹 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)

SMTP — движущая сила обмена электронной почтой, которая управляет форматированием, маршрутизацией и доставкой писем между почтовыми серверами.

🖱 𝗦𝗦𝗛 (𝗦𝗲𝗰𝘂𝗿𝗲 𝗦𝗵𝗲𝗹𝗹)

Secure Shell — это криптографический сетевой протокол, который обеспечивает безопасную передачу данных по незащищенной сети. Он обеспечивает безопасный канал, гарантируя, что хакеры не смогут интерпретировать информацию путем подслушивания.

#doc #cheatsheet