"10 Умных Хитростей Python: Библиотеки и Лайфхаки

in #python3 hours ago

image


10 Умных Хитростей Python: Библиотеки и Лайфхаки

Привет, Python-энтузиасты! 🐍 Сегодня мы поговорим о некоторых хитростях, которые сделают вашу жизнь легче и, возможно, даже веселее (если вы не забудете добавить "import this"). Давайте погрузимся в мир библиотек и лайфхаков, которые помогут вам не только писать код, но и не потерять рассудок!


1. Используйте enumerate(), чтобы избежать "index out of range"

Зачем мучиться с обычным for и вручную отслеживать индекс, когда enumerate() может сделать это за вас?

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

Потеряли счёт? Теперь это не ваша проблема!


2. zip() — для тех, кто не любит одиночество

Собрать два списка в один словарь? Легко!

keys = ['name', 'age', 'city']
values = ['Alice', 30, 'Wonderland']
result = dict(zip(keys, values))

Пожалуйста, не говорите, что вы всё ещё используете циклы для этого!


3. defaultdict — когда вам нужно больше, чем просто словарь

Если вам надоело проверять, существует ли ключ в словаре, используйте defaultdict из модуля collections!

from collections import defaultdict

d = defaultdict(int)
d['apples'] += 1
print(d)  # defaultdict(<class 'int'>, {'apples': 1})

Теперь ваши ключи всегда будут счастливы!


4. with и контекстные менеджеры — ваш новый лучший друг

Забудьте о том, чтобы закрывать файлы вручную. С контекстными менеджерами это делается автоматически!

with open('file.txt') as f:
    content = f.read()

Ваши файлы больше не будут страдать от "забыть закрыть"!


5. f-строки — форматирование с любовью

Скажем "прощай" старым способам форматирования строк!

name = "Bob"
age = 25
print(f"{name} is {age} years old.")

Форматирование, которое даже ваша бабушка поймёт!


6. itertools — когда вам нужно больше комбинаций

Если вам нужно сгенерировать все возможные комбинации, itertools — это то, что вам нужно!

import itertools

combinations = list(itertools.combinations(['A', 'B', 'C'], 2))
print(combinations)  # [('A', 'B'), ('A', 'C'), ('B', 'C')]

Теперь у вас есть больше комбинаций, чем у вашей любимой игры!


7. lambda функции — для краткости и элегантности

Когда вам нужна функция, но вы не хотите писать целый def, используйте lambda!

square = lambda x: x ** 2
print(square(5))  # 25

Пока вы не забудете, что это не полноценная функция!


8. map() и filter() — когда вам лень писать циклы

Зачем писать циклы, когда можно использовать map() и filter()?

numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers))
evens = list(filter(lambda x: x % 2 == 0, numbers))

Потратьте время на что-то более важное, например, на кофе!


9. set() — уникальность в каждом элементе

Если вам нужно уникальное множество элементов, используйте set().

my_list = [1, 2, 2, 3, 4, 4, 4]
unique = set(my_list)
print(unique)  # {1, 2, 3, 4}

Теперь ваши дубликаты могут пойти на отдых!


10. functools.lru_cache — кэширование для ленивых

Если ваша функция выполняет много вычислений, используйте кэширование!

Sort:  

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.06
TRX 0.32
JST 0.062
BTC 67215.18
ETH 2054.02
USDT 1.00
SBD 0.48