Библиотека питониста | Python, Django, Flask
Все самое полезное для питониста в одном канале. Список наших каналов: https://t.me/proglibrary/8353 Учиться у нас: https://proglib.io/w/907158ab Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising
Більше40 858
Підписники
+1024 години
+377 днів
+29630 днів
- Підписники
- Перегляди допису
- ER - коефіцієнт залучення
Триває завантаження даних...
Приріст підписників
Триває завантаження даних...
🐍💪 ТОП-5 вопросов повышенной сложности на собеседовании по Python
Метаклассы, дескрипторы, модификаторы доступа — звучит сложно? В новой статье разбираем 5 вопросов, которые часто задают на собеседованиях по Python.
🔗 Читать статью
🔗 Зеркало
😁 7
👩🏻💻📓 Гайд по последовательностям в Python
Последовательность — это структура данных, которая содержит элементы, организованные в определённом порядке. Доступ к этим элементам можно получить через обращение по индексу. В Python основные типы последовательностей — это списки, кортежи и строки.
Новое руководство на Real Python рассматривает:
• Характеристики последовательностей;
• Общие операции над последовательностями;
• Специальные методы последовательностей;
• Классы Sequence и MutableSequence;
• Создание пользовательских изменяемых и неизменяемых последовательностей.
🔗 Читать статью
👍 8❤ 2
Что делает 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"
#вопросы_с_собеседований👍 27❤ 4🤔 2🥱 1
🐍 Как скрыть чувствительные данные в отчётах об ошибках в Django
В Django есть встроенная функция отправки сообщений об ошибках приложения небольшому списку администраторов. Нужно просто настроить параметр ADMINS и подготовить приложение к отправке электронных писем. Все ошибки (со статусом 500 и выше) будут вызывать отправку нового сообщения со всеми деталями.
Это удобно, но такие сообщения могут содержать конфиденциальную информацию (пароли, номера кредитных карт, личные данные и т.д.). Статья в блоге Гонсало Валерио посвящена методам фильтрации таких чувствительных данных с помощью декораторов @sensitive_variables() и @sensitive_post_parameters().
🔗 Читать статью
👏 7
💬 Что вас мотивирует в работе?
❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным
#интерактив
❤ 63👍 59👾 33🤔 21😁 3🌚 1
📦 Подборка Python-библиотек для сжатия и архивирования файлов
🔸zlib
Модуль из стандартной библиотеки. Функция zlib.compress(s), например, позволяет получить сжатую строку. Коэффициент сжатия, то есть показатель того, насколько эффективно алгоритм может уменьшить размер входных данных, у zlib довольно высокий.
🔸LZ4
Библиотека предоставляет Python-интерфейс для алгоритма LZ4. Он отличается высокой скоростью сжатия. С задачами, на которые у Zlib уходит примерно 7.5 секунды, LZ4 может справиться менее чем за секунду. Коэффициент сжатия, правда, может быть ниже, чем у других алгоритмов.
🔸Brotli
Эта библиотека была разработана Google. Brotli использует современный вариант алгоритма LZ77, кодирование Хаффмана и контекстное моделирование второго порядка.
🔸Zstandard (zstd)
Тоже предлагает высокую скорость сжатия с высоким коэффициентом. У алгоритма также есть специальный режим для малых данных dictionary compression.
👍 9❤ 1
🤔 Google уволила команду Python-разработчиков
В преддверии ежегодной конференции Google I/O компания уволила сотрудников ключевых команд, не только Python, но и также Flutter, Dart и др. Сама Google говорит, что сделала это ради упрощения и повышения эффективности.
🐍 Сотрудники же рассказали чуть больше подробностей о происходящем. Так, по словам одного из них, были уволены люди, которые управляли всеми внутренними процессами, связанными с Python. Как отметили другие комментаторы, годами большую часть работы в Python-команде выполняли менее 10 человек.
Python был одним из первых языков, которые Google стала активно использовать. Это был последний главный язык бэкенда, для которого собрали команду.Многие люди в соцсетях уже выразили обеспокоенность увольнением Python-разработчиков. Но, похоже, что Google не избавилась от таковых окончательно: возможно, их просто заменили специалистами из другой страны.
🤔 24😁 10🌚 3👍 2
🎧 Nava — библиотека звуков для Python
Позволяет воспроизводить звуки без зависимостей и ограничений по платформе. Библиотека работает на разных операционных системах, включая Windows, macOS и Linux. Поддерживает воспроизведение различных аудиоформатов, в том числе WAV и MP3.
Nava — лёгкая в использовании и может помочь в случаях, когда нужно быстро добавить функциональность воспроизведения звука в программу на Python.
🪅Простейший пример использования библиотеки:
from nava import play
play("alarm.wav")
🔗 Ссылка на GitHub-репозиторий Nava🎉 11❤ 5👍 1
🤖 Пишем Telegram-ботов с aiogram 3.x
Это большой и подробный гайд по разработке Telegram-ботов на Python с использованием фреймворка aiogram 3.x. Подходит начинающим (и содержит при этом некоторые упрощения).
Рассказывает о:
🔹Установке aiogram и создании простейшего бота;
🔹Работе с сообщениями и кнопками;
🔹Роутерах (не оборудовании);
🔹Фильтрах и др.
🔗 Ссылка на гайд
❤ 4👍 3
💬 Какие принципы ООП вы знаете?
Их четыре:
▫️наследование;
▫️инкапсуляция;
▫️полиморфизм;
▫️абстракция.
🔹Наследование
Наследование позволяет новому классу наследовать атрибуты и методы уже существующего класса. Новый класс называется производным (дочерним). Существующий — базовым (родительским).
🔹Инкапсуляция
Этот принцип заключается в ограничении доступа к внутренним методам и переменным класса извне. В Python принцип реализован лишь на уровне соглашений: приватные атрибуты выделяются подчёркиванием — одинарным _ или двойным __. Эти подчёркивания сигнализируют другим программистам о приватности. Однако доступ к ним всё равно можно получить.
🔹Полиморфизм
Полиморфизм позволяет использовать одну функцию для разных форм (типов данных). В Python это проявляется, например, когда дочерний класс переопределяет методы родительского класса или когда разные классы имеют методы с одинаковыми именами, но собственной реализацией.
🔹Абстракция
Абстракция используется, чтобы скрыть внутренние характеристики функции от пользователей.
#вопросы_с_собеседований
❤ 14🥰 6😁 5👍 2🔥 2🤔 1