🐍 7 “бесполезных” функций Python, которые на самом деле полезны
Инструменты из стандартной библиотеки, которые могут удивить:
1. textwrap.dedent() — удаляет отступы у многострочного текста.
import textwrap
text = textwrap.dedent(\"\"\"
Привет!
Это текст с отступами.
\"\"\").strip()
print(text)
2. difflib.get_close_matches() — находит похожие строки.
import difflib
words = ["python", "java", "javascript"]print(difflib.get_close_matches("javascrip", words))
3. uuid.uuid4() — генерирует уникальный ID.
import uuid
print(uuid.uuid4())
4. shutil.get_terminal_size() — узнаёт размеры терминала.
import shutil
columns, rows = shutil.get_terminal_size()
print(f"Размер терминала: {columns}x{rows}")
5. functools.lru_cache() — кэширует результаты функции.
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) fib(n-2)
print(fib(100))
6. itertools.groupby() — группирует элементы по ключу.
from itertools import groupby
data = [('fruit', 'apple'), ('fruit', 'banana'), ('veg', 'carrot')]for key, group in groupby(data, lambda x: x[0]):
print(key, list(group))
7. contextlib.suppress() — элегантная альтернатива try-except.
from contextlib import suppress
with suppress(FileNotFoundError):
open("not_exist.txt")