Библиотека питониста | Python, Django, Flask
40.4K subscribers
2.79K photos
75 videos
51 files
4.37K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
加入频道
🤖🖼️ Как работают визуальные трансформеры: магия превращения пикселей в знания

Визуальные трансформеры (Vision Transformers, ViTs) — класс моделей глубокого обучения, которые достигли выдающихся результатов в задачах классификации изображений. В основе ViTs лежит архитектура трансформеров, изначально разработанная для обработки естественного языка.

В новой статье подробно рассказываем (с картинками), как работают такие модели компьютерного зрения.

🔗 Читать статью
🔗 Зеркало
❤‍🔥5👍3
💬 Какие принципы ООП вы знаете?

Их четыре:
▫️наследование;
▫️инкапсуляция;
▫️полиморфизм;
▫️абстракция.

🔹Наследование
Наследование позволяет новому классу наследовать атрибуты и методы уже существующего класса. Новый класс называется производным (дочерним). Существующий — базовым (родительским).

🔹Инкапсуляция
Этот принцип заключается в ограничении доступа к внутренним методам и переменным класса извне. В Python принцип реализован лишь на уровне соглашений: приватные атрибуты выделяются подчёркиванием — одинарным _ или двойным __. Эти подчёркивания сигнализируют другим программистам о приватности. Однако доступ к ним всё равно можно получить.

🔹Полиморфизм
Полиморфизм позволяет использовать одну функцию для разных форм (типов данных). В Python это проявляется, например, когда дочерний класс переопределяет методы родительского класса или когда разные классы имеют методы с одинаковыми именами, но собственной реализацией.

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

#вопросы_с_собеседований
18🥰7😁5👍4🔥2🤔1
🤖 Пишем Telegram-ботов с aiogram 3.x

Это большой и подробный гайд по разработке Telegram-ботов на Python с использованием фреймворка aiogram 3.x. Подходит начинающим (и содержит при этом некоторые упрощения).

Рассказывает о:
🔹Установке aiogram и создании простейшего бота;
🔹Работе с сообщениями и кнопками;
🔹Роутерах (не оборудовании);
🔹Фильтрах и др.

🔗 Ссылка на гайд
6👍4
🎧 Nava — библиотека звуков для Python

Позволяет воспроизводить звуки без зависимостей и ограничений по платформе. Библиотека работает на разных операционных системах, включая Windows, macOS и Linux. Поддерживает воспроизведение различных аудиоформатов, в том числе WAV и MP3.

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

🪅Простейший пример использования библиотеки:
from nava import play
play("alarm.wav")


🔗 Ссылка на GitHub-репозиторий Nava
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉135👍2
🤔 Google уволила команду Python-разработчиков

В преддверии ежегодной конференции Google I/O компания уволила сотрудников ключевых команд, не только Python, но и также Flutter, Dart и др. Сама Google говорит, что сделала это ради упрощения и повышения эффективности.

🐍 Сотрудники же рассказали чуть больше подробностей о происходящем. Так, по словам одного из них, были уволены люди, которые управляли всеми внутренними процессами, связанными с Python. Как отметили другие комментаторы, годами большую часть работы в Python-команде выполняли менее 10 человек.

Python был одним из первых языков, которые Google стала активно использовать. Это был последний главный язык бэкенда, для которого собрали команду.


Многие люди в соцсетях уже выразили обеспокоенность увольнением Python-разработчиков. Но, похоже, что Google не избавилась от таковых окончательно: возможно, их просто заменили специалистами из другой страны.
🤔26😁12🌚5👍41
📦 Подборка Python-библиотек для сжатия и архивирования файлов

🔸zlib
Модуль из стандартной библиотеки. Функция zlib.compress(s), например, позволяет получить сжатую строку. Коэффициент сжатия, то есть показатель того, насколько эффективно алгоритм может уменьшить размер входных данных, у zlib довольно высокий.

🔸LZ4
Библиотека предоставляет Python-интерфейс для алгоритма LZ4. Он отличается высокой скоростью сжатия. С задачами, на которые у Zlib уходит примерно 7.5 секунды, LZ4 может справиться менее чем за секунду. Коэффициент сжатия, правда, может быть ниже, чем у других алгоритмов.

🔸Brotli
Эта библиотека была разработана Google. Brotli использует современный вариант алгоритма LZ77, кодирование Хаффмана и контекстное моделирование второго порядка.

🔸Zstandard (zstd)
Тоже предлагает высокую скорость сжатия с высоким коэффициентом. У алгоритма также есть специальный режим для малых данных dictionary compression.
👍121
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Что вас мотивирует в работе?

❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным

#интерактив
79👍74👾39🤔27😁3🌚2
🐍 Как скрыть чувствительные данные в отчётах об ошибках в Django

В Django есть встроенная функция отправки сообщений об ошибках приложения небольшому списку администраторов. Нужно просто настроить параметр ADMINS и подготовить приложение к отправке электронных писем. Все ошибки (со статусом 500 и выше) будут вызывать отправку нового сообщения со всеми деталями.

Это удобно, но такие сообщения могут содержать конфиденциальную информацию (пароли, номера кредитных карт, личные данные и т.д.). Статья в блоге Гонсало Валерио посвящена методам фильтрации таких чувствительных данных с помощью декораторов @sensitive_variables() и @sensitive_post_parameters().

🔗 Читать статью
👏10
Что делает yield в Python?

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

Если мы имеем дело с генераторной функцией, то каждый раз, когда внутри неё встречается yield, выполнение приостанавливается и возвращает значение. При следующем запросе, генератор начинает работать с того же места, где он завершил работу в прошлый раз. Так как оператор yield не завершает работу генератора, он может использоваться несколько раз.

📎Пример генераторной функции с yield:
def simple_generator():
yield "Hello"
yield "World"

gen = simple_generator()
print(next(gen)) # Выводит "Hello"
print(next(gen)) # Выводит "World"


#вопросы_с_собеседований
Please open Telegram to view this post
VIEW IN TELEGRAM
👍355🤔3🥱1
👩🏻‍💻📓 Гайд по последовательностям в Python

Последовательность — это структура данных, которая содержит элементы, организованные в определённом порядке. Доступ к этим элементам можно получить через обращение по индексу. В Python основные типы последовательностей — это списки, кортежи и строки.

Новое руководство на Real Python рассматривает:

• Характеристики последовательностей;
• Общие операции над последовательностями;
• Специальные методы последовательностей;
• Классы Sequence и MutableSequence;
• Создание пользовательских изменяемых и неизменяемых последовательностей.

🔗 Читать статью
👍102
🐍💪 ТОП-5 вопросов повышенной сложности на собеседовании по Python

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

🔗 Читать статью
🔗 Зеркало
😁11👍1
😉 55 промтов для ChatGPT, которые помогут подготовиться к собеседованию

Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это.

В статье собраны шаблоны запросов, которые желательно «докрутить» под себя.

🔗 Читать статью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍43
🦾🧠🏋️Качаем мозги к лету!

Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.

➡️ Алгоритмы и структуры данных 35 990 ₽ 21 594

⭐️ Переходите и активируйте бесплатные вводные занятия курсаhttps://proglib.io/w/da6727d1

Вас ждут:

– 150 практических заданий и 47 видеолекций

– бессрочный доступ к обучению

– поддержка преподавателя в чате

А также очень харизматичный спикер из Яндекса 🙌🏻
2
Новый #дайджест материалов по Python

🐍 Новости мира Python за апрель 2024
Это очередной выпуск подкаста MoscowPython, в котором обсуждают релиз ruff 0.4.0, сборку CPyhon из исходников, PEP-744 Jit Compilation и др.

🐍 Погружение в метаклассы в Python
Автор статьи на «Хабре» попытался последовательно объяснить метаклассы, начиная с базовых понятий.

🐍 Прокт PySheets
Состоялся бета-релиз PySheets, проекта, который позволяет исследователь данные и создавать отчёты. При этом весь код Python выполняется в браузере.

🐍 Изгиб питона: 6 взглядов на игру из 1970-х
Это статья от Яндекс Практикума, которая рассказывает, как написать игру «Змейка» для портфолио в шести вариантах — с «отравой», сбрасыванием хвоста, а также барсуками и кошками.

🐍 Django: An admin extension to prevent state leaking between requests
Статья обсуждает проблему утечки состояния между запросами в админке Django из-за неправильного использования переменных экземпляра в классе ModelAdmin.
👍91
🅾️ Что такое «О» большое: объясняем на простых примерах

«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.

Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.

🔗 Читать статью
🔗 Зеркало
👍9🥰1
📊 Результаты ежегодного опроса разработчиков Django 2023

Опрос проводили в сентябре-октябре 2023 года. В нём участвовали около 4000 разработчиков Django со всего мира. Приводим часть результатов. Целиком можно посмотреть по этой ссылке 👈
👍16👏32🔥1