Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Использование библиотеки PyTTI для генеративного искусства с использованием нейронных сетей

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

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

Ссылочка на доку

#theory // Just Python
enumerate()

Когда тебе нужно итерировать по списку с доступом к индексу элемента, используй enumerate(). Эта встроенная функция возвращает и индекс, и сам элемент в одном цикле, что удобно и лаконично.

#theory // Just Python
Counter из collections позволяет делать подсчет элементов

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

Counter — это эффективный инструмент для анализа данных и решения задач, связанных с подсчетом частоты появления элементов.

#theory // Just Python
Pydantic для проверки типов

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

#modules // Just Python
Метод .join() как быстрое объединение строк

Когда нужно объединить несколько строк в одну, особенно из списка строк, метод .join() — это самый быстрый и эффективный способ. Он гораздо производительнее, чем использование оператора + для конкатенации в цикле, что делает его незаменимым для работы с текстовыми данными.

Использование .join() делает процесс объединения строк более лаконичным и производительным, что особенно важно при работе с большими объемами текстовых данных.

#theory // Just Python
Разница между list.sort() и sorted() в Python

list.sort() сортирует список на месте, изменяя его, и возвращает None, тогда как sorted() создает новый отсортированный список, оставляя оригинал неизменным.

✔️ Оба метода имеют параметры key и reverse, позволяя кастомизировать сортировку.

list.sort() используется для изменения оригинального списка. • sorted() возвращает новый отсортированный список из любого итерируемого объекта.

🔗 Почитать подробнее

#theory // Just Python
Упрощение условий с помощью тернарного оператора

Тернарный оператор в Python — это компактный способ записи условных выражений. Он позволяет в одну строку записать простую проверку и выполнение одного из двух выражений в зависимости от условия.

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

#theory // Just Python
Использование библиотеки Arrow для работы с датами и временем в Python

Arrow — это библиотека для более удобной работы с датами и временем в Python. Она предоставляет простой API для создания, преобразования и форматирования объектов datetime, упрощая работу с временными зонами и временем выполнения задач.

Arrow поддерживает естественные синтаксические конструкции и форматирование дат, а также имеет встроенные функции для манипуляции временем.

🔗 Ссылочка на доку

#theory // Just Python
Использование оператора «:=» (моржовый оператор) для одновременного присваивания и проверки

Моржовый оператор :=, представленный в Python 3.8, позволяет выполнять присваивание внутри выражений. Это полезно, когда вам нужно одновременно присвоить значение переменной и использовать его в условии, что сокращает код и делает его более эффективным.

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

#theory // Just Python
Использование defaultdict для работы со словарями с автоматическим созданием значений

defaultdict из модуля collections позволяет автоматически создавать значения для новых ключей в словаре. Это избавляет от необходимости проверки наличия ключа перед его использованием.

Использование defaultdict значительно упрощает работу с ключами и значениями в словарях, избавляя от ручного управления отсутствующими ключами.

#theory // Just Python
Благодаря get можно получить безопасный доступ к значениям словаря

Метод .get() позволяет безопасно получать значения из словаря в Python. Вместо того чтобы вызывать ключ напрямую и рисковать выбросом ошибки KeyError, если ключ не существует, .get() возвращает None или указанное значение по умолчанию.

#theory // Just Python
Срезы

Срезы (slices) в Python — это способ получения подстроки (подсписка) из последовательности, такой как строка (str), список (list) или кортеж (tuple).

#theory // Just Python
Для параллельных итераций по нескольким спискам можно использовать zip()

Функция zip() позволяет объединять несколько списков и одновременно итерироваться по ним в цикле. Это удобно, когда нужно обработать данные из нескольких коллекций синхронно.

Использование zip() значительно упрощает работу с несколькими списками, делая код лаконичным и удобным для понимания.

#theory // Just Python
string.isdecimal

Метод isdecimal() вернет True, только если все символы в строке являются десятичными цифрами (0-9). Он вернет False, если строка содержит хотя бы один символ, не являющийся десятичной цифрой. Обрати внимание, данный метод не учитывает другие виды цифр, такие как арабские, римские, китайские и т. д. Если тебе нужно проверить, содержит ли строка любой тип цифр, используй методы str.isdigit() для проверки на все виды цифр или str.isnumeric() для проверки на более широкий диапазон цифр.

#theory // Just Python
Использование оператора _ для повторного использования результата последней операции в интерактивном режиме

В Python при работе в интерактивной оболочке (например, в REPL или Jupyter Notebook) можно использовать символ подчеркивания _, чтобы получить результат последнего выражения. Это упрощает работу с вычислениями, когда нужно быстро использовать предыдущий результат.

Использование оператора _ в интерактивной оболочке ускоряет доступ к предыдущим результатам и делает работу с вычислениями более удобной и быстрой.

#theory // Just Python
Библиотека Typer & FAST API

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

Основные возможности Typer:
— Декоратор @typer.command() для определения команд и подкоманд.
— Автоматический парсинг аргументов и опций.
— Валидация и tipped annotations для аргументов и опций.
— Автоматическая генерация help с описаниями.
— Встроенная поддержка Click для обратной совместимости.

Typer часто используется для создания утилит командной строки, CLI интерфейсов для python приложений, API клиентов, DevOps инструментов и других задач, где нужен простой и удобный интерфейс командной строки.

#theory // Just Python
all()

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

#theory // Just Python
Pyspark

Pyspark — это библиотека для работы с Apache Spark на языке Python. Она позволяет выполнять распределенные вычисления на кластерах и обрабатывать большие объемы данных.

Основные возможности Pyspark:
Pyspark автоматически распределяет данные и вычисления между узлами кластера для максимальной производительности.
— В Pyspark есть специальные типы данных (RDD, DataFrame, Dataset), которые позволяют удобно работать с табличными и структурированными данными.
— Поддержка чтения и записи в разные хранилища данных и форматы файлов.
— Встроенные алгоритмы машинного обучения для классификации, кластеризации, регрессии.
— Интуитивно понятный API, позволяющий применять Pyspark вместе с другими популярными библиотеками Python для анализа данных.

Таким образом, Pyspark используется для быстрой параллельной обработки больших объемов данных с помощью кластеров, что делает его очень полезным инструментом для big data и машинного обучения.

#theory // Just Python
Использование функции any() для проверки наличия элементов, удовлетворяющих условию

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

Функция any() — это удобный инструмент для краткой и эффективной проверки условий в коллекциях, упрощая код и улучшая читаемость.

#theory // Just Python
LiteLLM — использование любого LLM с использованием OpenAI и многое другое

LiteLLM – инструмент для гибкого и лёгкого управления LLM в Python. С ним можно быстро переключаться между моделями, контролировать затраты, интегрировать API без изменений кода и оптимизировать производительность через балансировку нагрузки.

Поддержка единого формата для всех LLM, что упрощает интеграцию.
Возможность управления расходами и ограничения скорости запросов для предотвращения перегрузок.

Ссылочка на доку

#theory // Just Python