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

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

@Python_community_developers_bot
加入频道
➡️ 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
Быстрое объединение множества CSV файлов в один

DataFrame
Если у вас есть множество CSV файлов в одной директории, и вам нужно объединить их в один DataFrame для дальнейшего анализа, вы можете сделать это быстро с использованием библиотеки pandas и метода glob.

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

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

Этот метод помогает автоматизировать замеры времени, делая код чище и удобнее для анализа производительности.
Media is too big
VIEW IN TELEGRAM
▶️ Enum | Перечисления в Python

Enum (перечисления) – это класс, который содержит константы и методы для работы с ними

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

Enum "ограничивает" выбор пользователя
Помогает пользователю понять возможные варианты
Позволяет легко добавлять или удалять значения

👀 Смотреть на YouTube
➡️ Многоточие в Python

🗣️ Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python:

>>> ...
Ellipsis


⚙️ Применяется он преимущественно в операциях нарезки матриц в NumPy. Однако можно использовать его вместо обычного pass в качестве плэйсхолдера в функции, которую еще не реализовали:

python        
def my_awesome_func():
...


✔️ Вот валидный код Python, и выглядит он теперь не так уж плохо.
Использование модуля os.path и pathlib для удобной работы с путями

Когда вы работаете с файлами и директориями, важно уметь легко и безопасно манипулировать путями к файлам. Модули os.path и pathlib в Python предоставляют удобные методы для работы с путями, объединения их, получения имени файла и расширения, а также проверки существования файла или директории.

Использование os.path и pathlib помогает сделать код более безопасным и понятным, упрощая работу с путями и снижая вероятность ошибок, связанных с неправильным использованием путей к файлам.
📣 Оптимизация в Python | Эффективное использование модуля threading и asyncio

В данной статье мы погрузимся в мир многопоточности и асинхронного программирования на Python, изучая, как модуль threading может значительно улучшить работу с вводом-выводом.

Рассмотрим, как правильно завершать потоки при остановке приложения, чтобы избежать утечек ресурсов.
Научимся использовать пул потоков для распределения задач, что откроет доступ к мощным методам asyncio API, таким как gather, позволяющим дождаться результатов выполнения всех потоков.
Увидим, как эффективно интегрировать блокирующие API ввода-вывода, например, из библиотеки requests, в пул потоков, чтобы повысить производительность и сделать наше приложение более отзывчивым

🖥 Читать подробнее
➡️ wikipedia

У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.

✔️ Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.

🗣️ Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate().
This media is not supported in your browser
VIEW IN TELEGRAM
😲 Tile-Upscaler — нейросеть, которая спасет ваши размытые фото прямо в браузере.

Главная фишка модели — апскейл картинки без изменения деталей. Возможности поражают: можно улучшить фото аж в 20 раз!

📂 Сохраняем и используем бесплатно ТУТ

#nn #soft
Быстрое получение основных статистических характеристик с использованием statistics или pandas

Если вам нужно получить основные статистические показатели (среднее, медиану, стандартное отклонение и т.д.) для набора данных, Python предлагает удобные инструменты для этого. Вы можете использовать модуль statistics для работы с небольшими наборами данных или pandas для анализа больших данных в DataFrame.

Использование statistics и pandas помогает упростить анализ данных и быстро получить необходимую информацию о числовом наборе, будь то список чисел или целый столбец данных в таблице.
Использование функции functools.lru_cache для кэширования результатов функции

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

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

Python — отличный скриптовый язык. Но иногда стандартные библиотеки os и subprocess вызывают только головную боль.

✔️ Библиотека sh может стать приятной альтернативой. Она позволяет вызывать любую программу как обычную функцию, что полезно для автоматизации различных задач исключительно с помощью Python.

🗣️ Библиотека sh поддерживает только платформы Linux и macOS; для работы на Windows вам придётся поискать другой инструмент.

🔗 Ссылочка на доку
👨‍💻 Дорожная карта Full-Stack разработчика

Full-stack разработчик должен владеть широким спектром технологий и инструментов в различных областях разработки программного обеспечения. Здесь представлен полный обзор технических стеков, необходимых для разработчика полного стека.

🖱 1. Фронтенд разработчик
Frontend-разработка включает в себя создание пользовательского интерфейса и пользовательского опыта веб-приложения.

🖱 2. Бэкенд разработчик
Разработка бэкенда включает в себя управление логикой на стороне сервера, базами данных и интеграцию различных сервисов.

🖱 3. Мобильная разработка
Мобильная разработка подразумевает создание приложений для мобильных устройств.

🖱 4. Облачные вычисления
Облачные вычисления подразумевают развертывание и управление приложениями на облачных платформах.

🖱 5. Разработка баз данных
Разработка баз данных включает в себя управление хранением, поиском и обработкой данных.

🖱 6. UI/UX дизайн
UI/UX-дизайн включает в себя разработку пользовательского интерфейса и опыта работы с приложениями.

🖱 7/8. Инфраструктура и DevOps
Инфраструктура и DevOps включают в себя управление инфраструктурой, развертывание и непрерывную интеграцию/непрерывную доставку (CI/CD) приложений.

#doc #cheatsheet
📣 Головоломка «Сапёр» на Python в 66 строк и ее решение вероятностным алгоритмом

Писать головоломку будем оп нескольким требованиям:
Программа представляет собой консольный вариант головоломки Сапёр. Игровое поле печатается в stdout, колонки и поля нумеруются, каждый шаг консоль очищается от предыдущих данных.
При запуске программа принимает в качестве аргументов размер поля (ширину и высоту) и количество мин. По умолчанию, без передачи аргументов, создается игровое поле размером 10x10 с 10 минами.
Управление происходит путем передачи команд в стандартный ввод (stdin) в формате row col.
Первым ходом нельзя проиграть, т.е. ячейка, выбранная в первом ходе, не должна содержать мину. Также соседние ячейки не должны содержать мины.
Победа засчитывается, когда на игровом поле все незаминированные ячейки раскрыты, поражение – когда игрок открывает ячейку с миной. Последним ходом выводится соответствующее сообщение о победе или поражении и полностью открытое игровое поле.
Необходимо реализовать алгоритм решения головоломки. На каждом шаге программа печатает текущее состояние игры с сопутствующей справочной информацией

🖥 Читать подробнее