Разъяснивший Python – Telegram
Разъяснивший Python
7.62K subscribers
2.84K photos
40 videos
30 files
2.73K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
LiteLLM — использование любого LLM с использованием OpenAI и многое другое

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

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

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

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

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

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

Разъяснивший Python
Глубокое копирование

Глубокое копирование создаёт полностью независимую копию оригинального списка, включая все вложенные структуры. Это значит, что изменения во вложенных списках или объектах не повлияют на копию. Модуль copy предоставляет функцию deepcopy(), которая делает полную копию списка, включая все вложенные изменяемые объекты. Здесь изменения во вложенных списках одного списка не затрагивают другой список, что является основным преимуществом глубокого копирования.

Разъяснивший Python
👍2
Использование zip() для параллельной обработки нескольких списков

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

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

Разъяснивший Python
Использование f-строк для форматирования строк

С помощью f-строк (форматированных строковых литералов), доступных в Python 3.6 и выше, вы можете легко и читабельно вставлять значения переменных в строки. Это значительно упрощает создание сложных строк и повышает читаемость кода.

Использование f-строк позволяет значительно упростить процесс форматирования строк, делая код более чистым и понятным.

Разъяснивший Python
🔥2
Использование itertools.product для генерации декартова произведения

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

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

Разъяснивший Python
👍1💩1
filter()

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

Разъяснивший Python
Использование defaultdict из модуля collections для удобного подсчета элементов

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

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

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

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

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

Разъяснивший Python
Поверхностное копирование

Поверхностное копирование создаёт новый список, но копируются только ссылки на объекты, хранящиеся в оригинальном списке. Если список содержит вложенные списки или изменяемые объекты, то изменения во вложенных структурах будут видны в обеих копиях. Срез списка [:] создаёт новый список с копированием всех его элементов. Функция list() также создаёт новый список на основе существующего. Метод copy() появился в Python 3.3 и является встроенным способом сделать поверхностную копию списка.

Разъяснивший Python
Особенности копирования вложенных структур

Поверхностное копирование работает отлично для простых, неглубоких списков. Если список содержит другие списки (или изменяемые объекты), поверхностное копирование копирует только ссылки на вложенные объекты, а не сами объекты. Это значит, что изменения в этих вложенных объектах будут видны и в оригинале, и в копии. Как видно, изменение вложенного списка в list2 также отразилось в list1. Это произошло, потому что была скопирована ссылка на вложенный список, а не сам объект. В этом примере deepcopy() создает полную копию всех вложенных объектов, что позволяет изменять один список без влияния на другой.

Разъяснивший Python
Объединение списков: Сравнение производительности

Чтобы выбрать наиболее подходящий способ объединения списков, важно понимать, как различные методы влияют на производительность. Оператор + работает быстро, но использует много памяти, так как создается новый список. Метод extend() немного быстрее, так как данные добавляются в уже существующий список. Распаковка * похожа на оператор +, но может быть немного медленнее, особенно с большими данными. Самый экономный по памяти способ – itertools.chain. Однако может быть медленнее при необходимости преобразования в список. Для небольших списков разница в производительности между методами будет незначительной, но для больших данных подходящая стратегия может существенно повлиять на скорость и расход памяти.

Разъяснивший Python
Работа с файлами: Часть 1

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

Файлы открываются с помощью функции open(), где можно указать имя файла и режим работы: "r" — для чтения (по умолчанию). "w" — для записи (перезапишет файл). "a" — для добавления в конец файла. "b" — для работы с бинарными данными. Для безопасного открытия файлов, лучше использовать менеджер контекста with, который автоматически закрывает файл.

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

Функция math.exp используется для вычисления экспоненты (e^x), где e — это основание натурального логарифма, приблизительно равное 2.71828. Эта функция входит в стандартный модуль math.

Разъяснивший Python
Циклический сдвиг списка на N элементов вправо

Выше приведено решение с помощью слайсов.

Разъяснивший Python
Работа со строками: Часть 1

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

Объединить строки в одну легко с помощью оператора + или метода join().

Для изменения регистра строки есть три метода. upper() — делает все буквы заглавными. lower() — приводит строку к нижнему регистру. capitalize() — делает первую букву заглавной, а остальные строчными.

Разъяснивший Python
Логические all и any

Встроенные функции all() и any(), которые применяются к последовательностям (спискам, кортежам и т. д.) и возвращают bool значение.

all(iterable) — возвращает True, если все элементы iterable истинны (или iterable пуст).
any(iterable) — возвращает True, если хотя бы один элемент iterable истинен.

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

Важные моменты:
— Для пустых iterable all() вернёт True, а any()False.
— Элемент считается ложным, если его bool() равен False.
— Функции останавливаются при первом ложном (для all) или истинном (для any) элементе.

Разъяснивший Python
Работа со строками: Часть 2

Методы для удаления лишних символов с начала и конца строки:

strip() — удаляет пробелы в начале и в конце строки.
lstrip() и rstrip() — удаляют пробелы слева или справа.

Python поддерживает несколько способов форматирования строк:

f-строки (начиная с Python 3.6): встроенные выражения, облегчает работу с переменными.
Метод format(): добавляет параметры внутри фигурных скобок {}.

Разъяснивший Python
Объединение списков: Часть 2

Оператор распаковки * появился в Python 3.5 и позволяет объединять списки более гибко. Этот способ похож на использование оператора +, но его синтаксис более универсален, особенно при работе с несколькими списками.

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

Модуль itertools предоставляет функцию chain(), которая объединяет несколько списков, возвращая итератор. Это эффективный способ работы с большими списками, так как данные обрабатываются “лениво” (по мере необходимости), а не загружаются все сразу в память.

Разъяснивший Python
👍1
Как создавать списки в Python

Чтобы создать новый список, сначала дайте ему имя. Затем добавьте оператор присваивания (=) и пару квадратных скобок. Внутри скобок добавьте значения, которые должны содержаться в списке.

Разъяснивший Python
👍1
MongoDB: sort

В MongoDB метод sort() используется для сортировки результатов запроса на основе одного или нескольких полей. Вы можете сортировать как по возрастанию, так и по убыванию, используя значения 1 для сортировки по возрастанию и -1 для сортировки по убыванию.

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