python_per_month | Unsorted

Telegram-канал python_per_month - Python Learning

28154

Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month

Subscribe to a channel

Python Learning

👩‍💻 Задача по Python: Поиск первого неповторяющегося символа в строке

Напишите функцию, которая находит первый символ в строке, который не повторяется. Если все символы повторяются, функция должна вернуть None.

Пример:

print(first_unique_char("swiss"))  # Ожидаемый результат: "w"
print(first_unique_char("aabb")) # Ожидаемый результат: None


Решение задачи на картинке

Python Learning 👩‍💻

Читать полностью…

Python Learning

➡️ Masonite — мощный Python-фреймворк для веб-приложений

Masonite — это современный и простой в использовании фреймворк для создания веб-приложений. Он предлагает удобный API, поддержку архитектуры MVC и встроенные инструменты для миграций и тестирования.

Поддержка инверсии управления (IoC) для гибкого управления зависимостями.
Интеграция с популярными инструментами, такими как ORM Orator.
Удобная система маршрутизации и шаблонов.

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

Вопрос на собеседовании

Как работает менеджер контекста (context manager) в Python, и как создать свой собственный?

Ответ ⬇️
Менеджер контекста — это механизм в Python, который автоматически управляет ресурсами, такими как файлы или сетевые соединения. Основное преимущество использования менеджера контекста — автоматическое освобождение ресурсов (например, закрытие файла), даже если произошла ошибка.

Пример использования ⚙️

Для создания менеджера контекста можно использовать:

• Ключевые слова with и open (для встроенных менеджеров контекста).
• Метод __enter__() и __exit__() (для собственных классов).
• Декоратор @contextmanager из модуля contextlib.

# Создание менеджера контекста через класс
class FileManager:
def __init__(self, filename, mode):
self.file = None
self.filename = filename
self.mode = mode

def __enter__(self):
self.file = open(self.filename, self.mode)
return self.file

def __exit__(self, exc_type, exc_value, traceback):
if self.file:
self.file.close()

# Использование собственного менеджера контекста
with FileManager('example.txt', 'w') as f:
f.write('Привет, мир!')

# Файл автоматически закрывается после выхода из блока "with"


Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ pathlib.Path.glob()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

➡️ Memray — профилирование памяти для Python

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

Глубокий анализ: Memray отслеживает все выделения памяти, включая те, что происходят в нативных расширениях на C/C++.
Гибкие отчёты: Генерирует отчёты в виде текстовых файлов, графов и HTML-страниц для наглядного представления данных.
Поддержка многопоточности: Корректно работает с многопоточными приложениями, обеспечивая точный анализ.
Интеграция с Jupyter: Позволяет визуализировать данные профилирования прямо в Jupyter Notebook.

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

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ itertools.combinations()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ filter()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

➡️ LiteLLM — использование любого LLM с использованием OpenAI и многое другое

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

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

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

Python Learning
👩‍💻

Читать полностью…

Python Learning

Вопрос на собеседовании

Как в Python работает метод __call__() и когда его имеет смысл использовать?

Ответ ⬇️
Метод __call__() позволяет сделать объект вызываемым, то есть, работать с ним как с функцией. Этот метод можно добавить в любой класс, чтобы экземпляр класса можно было вызвать напрямую. Это полезно, когда класс выполняет одну основную задачу и может быть использован как замена функции, сохраняя при этом внутреннее состояние и структуру.

Пример использования ⚙️

class Multiplier:
def __init__(self, factor):
self.factor = factor

def __call__(self, value):
return value * self.factor

double = Multiplier(2)
print(double(5)) # 10
print(double(8)) # 16


Python Learning
👩‍💻

Читать полностью…

Python Learning

👩‍💻 Задача по Python

Создайте функцию find_longest_substring для поиска самой длинной подстроки в строке, содержащей уникальные символы. Функция должна возвращать длину этой подстроки.

Пример:

print(find_longest_substring("abcabcbb"))  # Вернёт 3, т.к. самая длинная уникальная подстрока "abc"
print(find_longest_substring("bbbbb")) # Вернёт 1, т.к. самая длинная уникальная подстрока "b"
print(find_longest_substring("pwwkew")) # Вернёт 3, т.к. самая длинная уникальная подстрока


Решение задачи на картинке

Python Learning 👩‍💻

Читать полностью…

Python Learning

➡️ Использование библиотеки Arrow для работы с датами и временем в Python

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

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

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

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ enumerate()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

➡️ Изменение регистра строк в Python: capitalize, camelCase, snake_case, и kebab-case

Модуль преобразования строк предлагает удобные функции для изменения регистра текста. Вы можете использовать capitalize, чтобы сделать первую букву заглавной, а также преобразовывать строки в форматы camelCase, snake_case, и kebab-case для различных стилей.

✔️ Эта функция полезна для работы с именами переменных, API или форматами данных.

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

Python Learning
👩‍💻

Читать полностью…

Python Learning

DABL

DABL (Data Analytics in Business Language) — это библиотека Python, которая упрощает использование машинного обучения для анализа данных. Она предоставляет простой и понятный интерфейс для создания моделей машинного обучения, а также для их обучения и оценки.

Чтобы начать работу с DABL, необходимо установить библиотеку. Это можно сделать с помощью следующей команды:
pip install dabl
Код с картинки создаст модель линейной регрессии, обучит ее на обучающей выборке из трех точек и оценит ее качество на тестовой выборке из тех же трех точек.

Python Learning 👩‍💻

Читать полностью…

Python Learning

os.rename()

В Python функция os.rename() используется для переименования файла или директории в операционной системе. Она входит в модуль os.

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ itertools.cycle

В Python функция itertools.cycle() создаёт бесконечный цикл по переданному итерируемому объекту. Это полезно для повторения элементов последовательности.

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ textwrap.dedent()

В Python метод textwrap.dedent() удаляет общие отступы из многострочного текста. Это полезно для упрощения форматирования строк, особенно в документации или больших блоках текста.

Python Learning 👩‍💻

Читать полностью…

Python Learning

Как выбрать стэк для ML-задач на соревнованиях?

Разбираемся на примере E-CUP 2025 от Ozon Tech. В новой статье собрали рабочие инструменты для решения типичных заданий по машинному обучению:
1️⃣ Рекомендации: предсказание следующей покупки пользователя.
2️⃣ Логистика: автопланирование курьеров.
3️⃣ Контроль качества: автоматическое выявление поддельных товаров.

Эти задачи предстоит решить на E-CUP 2025. Регистрация открыта до 17 августа включительно

Статья поможет разобраться, какие инструменты из богатой экосистемы open-source проектов лучше использовать на соревновании:
🔹 Библиотеки и фреймворки для построения рекомендательных систем и маршрутизации.
🔹 Градиентный бустинг и графовые нейросети.
🔹 Оптимизация маршрутов и работа с геоданными.
🔹 Поиск аномалий и дефектов, работа с мультимодальными данными.

Если вы участвуете в соревновании или просто ищете надежный стэк для ML-прототипов — читайте и сохраняйте: https://cnrlink.com/ecup25articlepylearn?erid=2W5zFJbWH7W

Читать полностью…

Python Learning

DeepSeek — самая мощная нейросеть в мире? Честно сравним и разберемся на примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.

⚡️Что ждет вас на вебинаре?

— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.

👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.

PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.

erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631

Читать полностью…

Python Learning

⚙️ __del__

В Python метод __del__ служит деструктором, который вызывается при уничтожении объекта. Он позволяет выполнять завершающие действия, такие как освобождение ресурсов или запись логов, перед тем как объект будет удалён сборщиком мусора.

Python Learning 👩‍💻

Читать полностью…

Python Learning

✍️ Циклический сдвиг списка на N элементов вправо

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

🧠Узнаем сколько раз встречается каждая буква в предложении

Код представлен на картинке.

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ all()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

Срезы

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ any()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

➡️ Разница между list.sort() и sorted() в Python

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

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

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

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

Python Learning
👩‍💻

Читать полностью…

Python Learning

Вопрос на собеседовании

Как в Python работают функции с переменным количеством аргументов (*args и **kwargs), и как это можно использовать для создания гибких функций?

Ответ ⬇️
Функции с *args принимают произвольное количество позиционных аргументов, а с **kwargs — именованных аргументов. Это позволяет передавать любое количество значений и делать интерфейс функций более гибким. *args упаковывает аргументы в кортеж, а **kwargs — в словарь.

Пример использования ⚙️

def demo_func(*args, **kwargs):
print("Позиционные аргументы:", args)
print("Именованные аргументы:", kwargs)

demo_func(1, 2, 3, name="Alice", age=25)
# Позиционные аргументы: (1, 2, 3)
# Именованные аргументы: {'name': 'Alice', 'age': 25}


Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Использование библиотеки PyTTI для генеративного искусства с использованием нейронных сетей

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

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

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

Python Learning
👩‍💻

Читать полностью…

Python Learning

Найдите ошибку в коде

Ошибка в этом коде заключается в том, что функция factorial() вызывает саму себя, если n равно -1. В этом случае функция будет вызывать себя бесконечно, так как n никогда не станет равно 0.

Чтобы исправить ошибку, необходимо добавить условие, которое будет проверять, равно ли n 0. Если это так, то функция должна возвращать 1, а не вызывать саму себя.


Python Learning 👩‍💻

Читать полностью…

Python Learning

➡️ Использование модуля ast для анализа и модификации исходного кода Python

Модуль ast (Abstract Syntax Tree) позволяет анализировать и модифицировать исходный код Python на уровне его абстрактного синтаксического дерева (AST). Это мощный инструмент для тех, кто хочет динамически изменять код, строить анализаторы или трансформировать Python-программы на лету.

🗣 Этот модуль предоставляет доступ к внутренним структурам Python, что делает его полезным для статического анализа кода или автоматического изменения исходного текста программы.

✔️ ast открывает множество возможностей для тех, кто занимается метапрограммированием или созданием собственных инструментов для анализа и оптимизации Python-кода.


Python Learning
👩‍💻

Читать полностью…
Subscribe to a channel