Разъяснивший Python
8.17K subscribers
2.44K photos
40 videos
30 files
2.29K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Возврат нескольких значений из функции

Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать.

Разъяснивший Python
👎1
validators — библиотека, предоставляющая набор функций для валидации данных.

Validators предлагает широкий спектр функций для проверки данных. Они могут использоваться для проверки URL-адресов, электронных адресов, IP-адресов, дат и времени, а также для выполнения других типов проверок данных.

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

Ставится командой pip3 install validators
Документация и примеры кода здесь

Разъяснивший Python
👍1
Массовая вставка данных без цикла

Вставлять много записей по одной — неэффективно. Лучше использовать метод executemany, который сразу выполнит множество вставок за один запрос.

Итог:
executemany позволяет вставлять или обновлять множество записей за один запрос, экономя время и ресурсы.

Разъяснивший Python
👍1
Российские нейросети доступны для всех – показываем, на что они способны

Разбираем и тестируем лучшие отечественные ИИ-инструменты от Яндекса, Сбера и других разработчиков вместе с СЕО университета Зерокодер ⚡️

Кому будет полезно?

– Тем, кто хочет пользоваться доступными в РФ нейросетями без ограничений и языковых барьеров;
– Специалистам, работающим с текстами и визуальным контентом;
– IT-специалистам для оптимизации рабочих процессов.

В программе вебинара:

– Обзор возможностей российских нейросетей и их сравнение с западными аналогами;
– Практические примеры использования ИИ для различных задач в работе и повседневной жизни;
– Рассмотрение рынка вакансий и возможностей заработка с навыками работы с нейросетями.

Один из самых интересных и бесплатных эфиров в 2025 году ждет вас по ссылке.

erid: 2W5zFJNNSwA
ООО Зерокодер, ИНН 9715401631
cache — декоратор модуля functools, который позволяет кэшировать результаты вызова функции для определенных аргументов.

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

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

Разъяснивший Python
Упрощаем цепочки if с помощью match-case

Иногда при проверке значения переменной мы пишем длинную цепочку if-elif-else. Это выглядит громоздко и сложно читается.

С Python 3.10 можно использовать конструкцию match-case, которая делает код компактнее и читабельнее — особенно при работе со строками, числом или даже структурами данных.

Итог:
match-case — это элегантная альтернатива if-elif-else в Python 3.10+. Подходит для ветвлений по значениям, в том числе с распаковкой. Пиши чище, читай легче!

Разъяснивший Python
🤯1
sanic — легкий и быстрый фреймворк для создания веб-приложений.

Sanic разработан с учетом высокой производительности и асинхронности. Он базируется(based) на асинхронной библиотеке asyncio. Это особенно полезно для создания масштабируемых веб-приложений, способных обрабатывать большое количество запросов одновременно.

Sanic предлагает простой и понятный синтаксис, вдохновленный фреймворком Flask, что делает его легким в освоении даже для новичков. Он также поддерживает весь набор функций и возможностей, необходимых для создания полноценных веб-приложений, таких как маршрутизация запросов, шаблонизация, обработка форм, авторизация и многое другое.

Думаю, пример выше понятен :)

Ставится командой ⚙️
pip3 install sanic
Документация и примеры кода здесь

Разъяснивший Python
logging — универсальный инструмент для логирования.

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

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

Подробнее про logging тут

Разъяснивший Python
Как быстро измерить время выполнения кода

Иногда нужно понять, сколько времени занимает выполнение куска кода. В боевых условиях используют logging и профилировщики, но для быстрой отладки есть простой лайфхак с time.perf_counter().

Итог:
time.perf_counter() — точный и удобный способ измерить время выполнения кода. Используй для быстрой диагностики производительности прямо в процессе разработки.

Разъяснивший Python
schedule — простая библиотека для планирования и автоматизации задач.

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

В примере выше мы создаем задачу, которая будет выполняться каждую минуту. Функция job определяет действия, которые будут выполняться при каждом запуске задачи. В данном случае, она просто выводит сообщение "...---...". После создания задачи, мы запускаем бесконечный цикл, в котором вызываем метод schedule.run_pending(), который проверяет, есть ли запланированные задачи для выполнения.

Ставится командой ⚙️ pip3 install schedule
Документация и примеры кода здесь

Разъяснивший Python
🔥2
NLTK — библиотека для обработки естественного языка

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

В примере выше мы:
Загружаем корпус текста, который включает ресурсы для токенизации и удаления стоп-слов
Токенизируем текст, разделяя его на отдельные слова и знаки препинания
Удаляем стоп-слова, то есть слова, которые обычно не несут смысловой нагрузки
Производим частотный анализ, чтобы определить самые часто встречающиеся слова в тексте

Ставится командой ⚙️ pip3 install nltk
Документация и примеры кода здесь

Разъяснивший Python
Как один раз инициализировать ресурс при первом использовании

Допустим, у тебя есть тяжёлая операция (например, подключение к БД, загрузка модели и т.д.), которую нужно выполнить только один раз при первом вызове. Для этого идеально подходит functools.lru_cache.

Итог:
@lru_cache — простой способ ленивой инициализации: функция выполнится один раз, а результат будет использоваться повторно. Идеально для кэширования настроек, соединений и других «разовых» данных.

Разъяснивший Python
3
dataclasses — это модуль в стандартной библиотеке, предназначенный для упрощения создания классов данных.

Он предоставляет декоратор и набор инструментов, которые автоматически генерируют основные методы класса, такие как __init__(), __repr__(), __eq__(), и другие. Это упрощает создание классов, которые служат простым хранилищем данных, без необходимости вручную определять все методы

В примере выше мы используем декоратор @dataclass, чтобы автоматически сгенерировать методы класса Point. Мы определяем поля x, y и z, которые представляют координаты точки. После создания экземпляра класса Point с помощью аргументов конструктора, мы можем напрямую выводить информацию о точке, таreprтод __repr__() автоматически сгенерирован. Это делает код более лаконичным и удобным для использования.

Подробнее здесь

Разъяснивший Python
👍1
Создание видео из изображений

В этот раз мы сделаем скрипт для создания видео. Он будет объединять набор изображений в видеоролик, добавлять фоновую музыку, а также позволит настроить скорость смены кадров. В результате получится готовое MP4-видео!

Ссылка на код

Разъяснивший Python
1
Как объединять цепочки условий красиво и читаемо

Иногда логика с множеством if становится громоздкой. В таких случаях удобно использовать словарь как аналог switch-case.

Итог:
Словарь заменяет кучу if-elif-else, делает код чище и облегчает добавление новых случаев. Особенно полезно, когда условия связаны с конкретными значениями (например, кодами, командами или ролями).

Разъяснивший Python
range() — встроенная функция, которая создает последовательность чисел в заданном диапазоне.

range() используется для создания последовательности чисел. Она принимает три параметра: начальное значение(по умолчанию 0), конечное значение и шаг(по умолчанию 1). При вызове функции range() она возвращает объект типа range, который можно использовать в циклах или для создания списков.

В примере выше мы используем функцию range() для создания последовательности чисел от 1 до 10 с шагом 2. Цикл for проходит по каждому элементу этой последовательности и выводит его значение.

Подробнее тут

Разъяснивший Python
ffmpeg — это свободное и открытое программное обеспечение, предоставляющее набор инструментов для записи, преобразования и манипулирования аудио и видео файлами.

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

В примере выше мы используем модуль subprocess для вызова команды ffmpeg из Python. Мы указываем входной файл input.mp4 и желаемый выходной файл output.avi. После этого мы создаем команду ffmpeg и передаем ее в subprocess.call().

Таким образом, при выполнении этого кода ffmpeg сконвертирует входной видеофайл input.mp4 в формат AVI и сохранит его как output.avi.

Подробнее тут

Разъяснивший Python
Как замерить время выполнения кода элегантно

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

Итог:
Контекстный менеджер timeit позволяет быстро замерять производительность без лишнего шума. Особенно полезен при профилировании отдельных участков кода.

Разъяснивший Python
👍1👎1
pynacl — библиотека, обеспечивающая простой и безопасный доступ к криптографическим функциям, основанным на библиотеке Networking and Cryptography (NaCl).

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

На примере выше у нас есть два скрипта: один для шифрования сообщения, а другой для его расшифровки. Используя pynacl, мы можем безопасно передать зашифрованное сообщение от отправителя к получателю.

Разъяснивший Python
collections — встроенный модуль, который предоставляет удобные и эффективные инструменты для обработки и работы с различными типами данных.

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

Недавно мы показывали некоторые классы из модуля collections, однако про сам модуль не рассказали.

Подробнее тут

Разъяснивший Python