Python Learning
33.1K subscribers
1.96K photos
8 videos
7 files
967 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
➡️ Использование библиотеки PyTTI для генеративного искусства с использованием нейронных сетей

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
➡️ Изменение регистра строк в Python: capitalize, camelCase, snake_case, и kebab-case

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Вопрос на собеседовании

Как в 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
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
⚙️ enumerate()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
➡️ Разница между list.sort() и sorted() в Python

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

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13💯1🆒1
➡️ Использование библиотеки Arrow для работы с датами и временем в Python

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🍾1
⚙️ any()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1🍾1
👩‍💻 Задача по 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 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Срезы

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Вопрос на собеседовании

Как в 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
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤‍🔥3
⚙️ all()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
➡️ LiteLLM — использование любого LLM с использованием OpenAI и многое другое

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🧠Узнаем сколько раз встречается каждая буква в предложении

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
⚙️ filter()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
✍️ Циклический сдвиг списка на N элементов вправо

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🍾2
⚙️ itertools.combinations()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
⚙️ __del__

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
➡️ Memray — профилирование памяти для Python

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
DeepSeek — самая мощная нейросеть в мире? Честно сравним и разберемся на примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.

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

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

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

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

erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631
🔥1
⚙️ pathlib.Path.glob()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Вопрос на собеседовании

Как работает менеджер контекста (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
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1