Just Python
11.2K subscribers
3.66K photos
11 videos
3.65K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
cache — декоратор модуля functools, который позволяет кэшировать результаты вызова функции для определенных аргументов.

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

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

#theory // Just Python
Российские нейросети доступны для всех – показываем, на что они способны

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

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

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

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

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

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

erid: 2W5zFJNNSwA
ООО Зерокодер, ИНН 9715401631
Never — тип-пустышка в модуле typing.

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

P.S. Never появился в версии Python 3.11

#theory // Just Python
sanic — легкий и быстрый фреймворк для создания веб-приложений.

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

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

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

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

#theory // Just Python
logging — универсальный инструмент для логирования.

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

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

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

#theory // Just Python
Как вернуть нескольких значений из функции?

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

#theory // Just Python
schedule — простая библиотека для планирования и автоматизации задач.

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

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

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

#theory // Just Python
NLTK — библиотека для обработки естественного языка

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

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

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

#theory // Just Python
dataclasses — это модуль в стандартной библиотеке, предназначенный для упрощения создания классов данных.

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

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

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

#theory // Just Python
range() — встроенная функция, которая создает последовательность чисел в заданном диапазоне.

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

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

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

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

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

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

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

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

#theory // Just Python
namedtuple — удобная структура данных модуля collections.

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

В примере выше мы определяем структуру данных Point с помощью namedtuple, которая имеет два именованных поля - x и y. Затем мы создаем объект point типа Point с указанными значениями координат. Благодаря Namedtuple, у нас есть доступ к полям объекта по именам, что делает код более читаемым и понятным.

#theory // Just Python
argparse — модуль обработки аргументов командной строки

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

В примере выше функция main() определяет два аргумента: username и age, а также добавляет описание для них. Затем, когда скрипт запускается, argparse обрабатывает переданные аргументы командной строки и передает их в функцию greet_user(). Функция greet_user() форматирует приветствие с указанием имени пользователя и его возраста, а затем выводит результат в консоль.

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

#theory // Just Python
pynacl — библиотека, обеспечивающая простой и безопасный доступ к криптографическим функциям, основанным на библиотеке Networking and Cryptography (NaCl).

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

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

#theory // Just Python
captcha — модуль, который представляет собой защитный механизм, используемый для определения, является ли пользователь человеком или ботом

В реальных проектах, вместо сохранения на диск, captcha обычно передается напрямую и отображается пользователю. Для этого у captcha есть метод tobytes()

Таким образом, использование модуля captcha позволяет легко реализовать защиту от ботов, требуя от пользователей выполнить простую задачу, но при этом значительно затрудняя автоматизированные атаки и спам.

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

#theory // Just Python
Counter — класс из модуля collections, предоставляющий удобный способ подсчета элементов в коллекции.

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

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

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

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

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

#theory // Just Python
cmd — встроенная библиотека для создания интерактивных командных интерфейсов.

cmd предоставляет удобные инструменты для создания интерактивных командных интерфейсов (CLI). Он позволяет создать собственную командную оболочку с поддержкой пользовательских команд, автодополнения, подсказок и истории команд, что делает взаимодействие с программой более удобным и эффективным.

Класс Cmd модуля cmd предоставляет основу для создания пользовательских командных интерфейсов. Он обрабатывает пользовательский ввод и вызывает соответствующие методы для выполнения команд. Вы можете определить собственные методы для обработки команд, а также использовать декораторы для добавления дополнительных функциональностей к командам.

В примере выше мы создаем простой командный интерфейс с помощью класса Cmd. Мы определяем две команды: hello и quit. Команда hello принимает один аргумент name и выводит приветствие с использованием аргумента. Команда quit печатает сообщение "Exiting..." и возвращает True, что приведет к выходу из командного интерфейса.

При запуске скрипта, он будет ожидать пользовательского ввода с приглашением >>>. Пользователь может ввести команды hello <имя> для приветствия или quit для выхода из интерактивной оболочки.

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

#theory // Just Python
art — модуль, который предоставляет возможности для создания ASCII-текста из обычного текста.

art позволяет превратить обычные строки в ASCII-арты, что может быть интересным способом оформления текстовых сообщений.

В примере выше мы использовали модуль art, чтобы преобразовать текст "xo_py" в ASCII-арт. Функция text2art принимает текстовую строку и возвращает ASCII-арт, который представляет собой стилизованный вариант этого текста в виде символов.

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

#theory // Just Python
Faker — полезная библиотека, которая поможет вам создавать реалистичные тестовые данные.

Независимо от того, нужны ли вам данные для тестирования, заполнения базы данных или демонстрации функционала, Faker делает процесс генерации данных простым и эффективным.

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

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

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

#theory // Just Python