Pythoner
Фотография
✈️ В Python boltons — это набор полезных утилит и инструментов, расширяющих стандартную библиотеку Python. Он предоставляет решения для работы с коллекциями данных, итераторами, функциями, строками, файлами и другими распространенными задачами. boltons помогает писать более чистый, лаконичный и эффективный код.
➡️ Применение boltons повышает производительность разработки, предоставляя готовые решения для часто встречающихся задач. Библиотека хорошо документирована и легко интегрируется в существующие проекты.
➡️ Вот пример использования некоторых модулей boltons:
from boltons.iterutils import chunked
data = list(range(20))
chunks = list(chunked(data, 4)) # Разделение данных на чанки размером 4
print(chunks)
# Вывод: [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19]]
from boltons.dictutils import OMD
# Ordered Multi Dict, сохраняет порядок добавления ключей и позволяет иметь несколько значений для одного ключа
omd = OMD()
omd[1] = "a"
omd[2] = "b"
omd[1] = "c"
print(omd)
# Вывод: OMD([(1, 'a'), (2, 'b'), (1, 'c')])
print(omd.getlist(1)) # Получение всех значений для ключа 1
# Вывод: ['a', 'c']
from boltons.funcutils import wraps
def my_decorator(f):
@wraps(f) # Сохраняет метаданные оригинальной функции
def wrapper(*args, **kwargs):
print("Before function call")
result = f(*args, **kwargs)
print("After function call")
return result
return wrapper
@my_decorator
def my_function(a, b):
"""
This is my function.
"""
return a + b
print(my_function(1, 2))
# Вывод:
# Before function call
# After function call
# 3
print(my_function.__doc__) # Метаданные сохраняются благодаря wraps
# Вывод: This is my function.
⬆️ В этом примере демонстрируется использование chunked для разделения списка на чанки, OMD (Ordered Multi Dict) для работы со словарем, сохраняющим порядок и позволяющим иметь несколько значений для одного ключа, и wraps для создания декораторов, сохраняющих метаданные декорируемых функций. Эти примеры показывают лишь небольшую часть функциональности, предоставляемой boltons. Библиотека содержит множество других полезных инструментов для различных задач.
🐍 Pythoner
26 · 2.1K ·