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

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

@Python_community_developers_bot
加入频道
🔍 Поиск по изображению

Полезное расширение для браузеров 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.
Первым ходом нельзя проиграть, т.е. ячейка, выбранная в первом ходе, не должна содержать мину. Также соседние ячейки не должны содержать мины.
Победа засчитывается, когда на игровом поле все незаминированные ячейки раскрыты, поражение – когда игрок открывает ячейку с миной. Последним ходом выводится соответствующее сообщение о победе или поражении и полностью открытое игровое поле.
Необходимо реализовать алгоритм решения головоломки. На каждом шаге программа печатает текущее состояние игры с сопутствующей справочной информацией

🖥 Читать подробнее
Использование оператора else с циклом for или while

В Python циклы for и while могут содержать блок else, который выполняется, если цикл завершился без прерывания (без использования break). Это мощная, но часто забываемая возможность, которая позволяет элегантно обрабатывать случаи, когда цикл проходит полностью.

Использование else с циклами помогает избежать лишних проверок и делает код более логичным, особенно в ситуациях, когда важно знать, был ли цикл завершен естественным образом или был прерван.
Media is too big
VIEW IN TELEGRAM
▶️ Список и кортеж

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

Использование кортежей:
Используй [] для создания пустого списка ({} для словаря)
Если заранее известен размер, то не используй append (для 8000 добавлений выделяется 8600 ячеек памяти)
Используй листкомпс
Не пытайся заменять список кортежом, там где идет изменение размера

👀 Смотреть на YouTube
⚙️ __repr__

При определении класса или объекта полезно добавлять «официальный» способ представления объекта строкой. Например:

>>> file = open('file.txt', 'r')
>>> print(file)
<open file 'file.txt', mode 'r' at 0x10d30aaf0>


✔️ Это сильно упрощает отладку. Вот всё, что вам нужно сделать:

class SomeClass:
def __repr__(self):
return "<какое-то описание>"

some_instance = SomeClass()

# выводит <какое-то описание>
print(some_instance)


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