Модуль functools для манипуляций с функциями
Модуль
1. `functools.partial`: Позволяет зафиксировать некоторые аргументы функции и создать новую функцию с предопределенными значениями.
2.`functools.partial`: Применяет функцию к паре элементов в последовательности, сокращая ее до одного значения. Обычно используется для аккумуляции значений.
3.
4.
5.
Эти функции и декораторы делают
Мы в MAX
👉@BookPython
Модуль
functools в Python предоставляет инструменты для работы с функциями, позволяя выполнять различные манипуляции с ними. Вот некоторые из наиболее важных функций и возможностей, которые предоставляет functools:1. `functools.partial`: Позволяет зафиксировать некоторые аргументы функции и создать новую функцию с предопределенными значениями.
from functools import partial
def multiply(x, y):
return x * y
double = partial(multiply, 2)
print(double(5)) # Вывод: 10
2.`functools.partial`: Применяет функцию к паре элементов в последовательности, сокращая ее до одного значения. Обычно используется для аккумуляции значений.
from functools import reduce
numbers = [1, 2, 3, 4]
product = reduce(lambda x, y: x * y, numbers)
print(product) # Вывод: 24
3.
functools.lru_cache: Кэширует результаты вызовов функции, чтобы ускорить повторные вызовы с теми же аргументами. Полезно для функций с дорогими вычислениями.
from functools import lru_cache
@lru_cache(maxsize=None)
def fibonacci(n):
if n < 2:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
print(fibonacci(10)) # Вывод: 55
4.
functools.wraps: Декоратор, который сохраняет метаданные оригинальной функции (такие как имя и документация) при создании декоратора.
from functools import wraps
def my_decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
print("Что-то делаем перед вызовом функции")
return func(*args, **kwargs)
return wrapper
@my_decorator
def say_hello():
"""Выводит приветствие."""
print("Привет!")
print(say_hello.__name__) # Вывод: say_hello
print(say_hello.__doc__) # Вывод: Выводит приветствие.
5.
functools.total_ordering: Упрощает реализацию всех методов сравнения для класса, определяя только несколько из них.
from functools import total_ordering
@total_ordering
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __eq__(self, other):
return (self.x, self.y) == (other.x, other.y)
def __lt__(self, other):
return (self.x, self.y) < (other.x, other.y)
p1 = Point(1, 2)
p2 = Point(3, 4)
print(p1 < p2) # Вывод: True
print(p1 <= p2) # Вывод: True
Эти функции и декораторы делают
functools мощным инструментом для функционального программирования в Python.Мы в MAX
👉@BookPython
👍1
Last Call: ИИ, бэкенд и фронтенд в одном хакатоне
Wink AI Challenge — соревнование для разработчиков, которые знакомы с нейросетями и мультимодальными данными. Разбираешься в NLP и интеграции моделей? Приходи и покажи, на что способен твой ИИ. Призовой фонд — 1 125 000 рублей.
Последние дни регистрации — открыта до 4 ноября включительно: https://cnrlink.com/winkaichallengepylib
ML-инженеры, backend- и frontend-разработчики, DevOps, MLOps и мультимедиа-инженеры — ваш выход. Алгоритм такой:
1️⃣ Получи реальный текстовый набор данных.
2️⃣ Проанализируй структуру и извлеки ключевые сущности.
3️⃣ Собери ИИ-сервис, который помогает принимать решения в киноиндустрии.
Задачи хакатона:
🔸 Построй модель зависимости между сценами и структурируй сценарий.
🔸 Преврати текст в эскизы с помощью text-to-image для создания превизуализации сценария.
🔸 Создай решение, которое классифицирует контент и находит сцены, влияющие на возрастной рейтинг.
Финал пройдёт в Москве — двум участникам из команды Wink оплатит билеты и проживание. Успей зарегистрироваться на первый в России хакатон по применению ИИ в кинопроизводстве: https://cnrlink.com/winkaichallengepylib
Wink AI Challenge — соревнование для разработчиков, которые знакомы с нейросетями и мультимодальными данными. Разбираешься в NLP и интеграции моделей? Приходи и покажи, на что способен твой ИИ. Призовой фонд — 1 125 000 рублей.
Последние дни регистрации — открыта до 4 ноября включительно: https://cnrlink.com/winkaichallengepylib
ML-инженеры, backend- и frontend-разработчики, DevOps, MLOps и мультимедиа-инженеры — ваш выход. Алгоритм такой:
1️⃣ Получи реальный текстовый набор данных.
2️⃣ Проанализируй структуру и извлеки ключевые сущности.
3️⃣ Собери ИИ-сервис, который помогает принимать решения в киноиндустрии.
Задачи хакатона:
🔸 Построй модель зависимости между сценами и структурируй сценарий.
🔸 Преврати текст в эскизы с помощью text-to-image для создания превизуализации сценария.
🔸 Создай решение, которое классифицирует контент и находит сцены, влияющие на возрастной рейтинг.
Финал пройдёт в Москве — двум участникам из команды Wink оплатит билеты и проживание. Успей зарегистрироваться на первый в России хакатон по применению ИИ в кинопроизводстве: https://cnrlink.com/winkaichallengepylib
Гринатом — ИТ-интегратор Росатома — ищет системного архитектора АРМ в Москве!💼
✅Вам предстоит разрабатывать архитектурные концепции и технические решения на АРМ, готовить презентации и обоснования архитектурных решений, проводить аудит и анализ текущей инфраструктуры, разрабатывать стратегии миграции на отечественные платформы и участвовать в разработке проектной документации.
🤝А мы предложим конкурентоспособную «белую» зарплату с годовыми бонусами и ежегодной индексацией, ДМС со стоматологией, тренажерный зал с сауной в офисе, образовательные курсы за счёт компании. И главное — карьерный и экспертный рост в рамках единой команды.
✅Вам предстоит разрабатывать архитектурные концепции и технические решения на АРМ, готовить презентации и обоснования архитектурных решений, проводить аудит и анализ текущей инфраструктуры, разрабатывать стратегии миграции на отечественные платформы и участвовать в разработке проектной документации.
🤝А мы предложим конкурентоспособную «белую» зарплату с годовыми бонусами и ежегодной индексацией, ДМС со стоматологией, тренажерный зал с сауной в офисе, образовательные курсы за счёт компании. И главное — карьерный и экспертный рост в рамках единой команды.
hh.ru
Вакансия Системный архитектор АРМ в Москве, работа в компании Гринатом. Бэк-офис
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная. Дата публикации: 02.11.2025.
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
BBOT (Black Box OSINT Toolkit)
Рекурсивный модульный OSINT инструмент, написанный на Python.
Он поддерживает модульную структуру, интеграцию с API и плагины для выполнения сетевых сканирований, анализа доменов, поиска утечек данных и других задач. BBOT нацелен на исследование целевых систем, обеспечивая гибкость и настраиваемость для профессионалов в области кибербезопасности.
https://github.com/blacklanternsecurity/bbot
Мы в MAX
👉@BookPython
Рекурсивный модульный OSINT инструмент, написанный на Python.
Он поддерживает модульную структуру, интеграцию с API и плагины для выполнения сетевых сканирований, анализа доменов, поиска утечек данных и других задач. BBOT нацелен на исследование целевых систем, обеспечивая гибкость и настраиваемость для профессионалов в области кибербезопасности.
https://github.com/blacklanternsecurity/bbot
Мы в MAX
👉@BookPython
👍1
Если вы хотите игнорировать какое-то исключение, вы, вероятно, сделаете что-то вроде этого:
Это будет работать (ничего не выводя), но
📲 Мы в MAX
👉@BookPython
try:
lst = [1, 2, 3, 4, 5]
print(lst[10])
except IndexError:
pass
Это будет работать (ничего не выводя), но
contextlib позволяет сделать то же самое более выразительно и семантически правильно:
from contextlib import suppress
with suppress(IndexError):
lst = [1, 2, 3, 4, 5]
lst[10]
👉@BookPython
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Media is too big
VIEW IN TELEGRAM
Как использовать *args и **kwargs в python?
В видео про декораторы мы использовали
📲 Мы в MAX
👉@BookPython
В видео про декораторы мы использовали
*args и **kwargs для того, чтобы передать в функцию любое количество позиционных и именованных аргументов. Для того, чтобы понять как это работает, сначала познакомимся с тем, что такое распаковка.👉@BookPython
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2💊2