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

in #python20 hours ago

image


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

Привет, Python-энтузиасты! 🐍 Сегодня мы погрузимся в мир умных хитростей, которые сделают вашу жизнь проще, а код — чище. Готовы? Давайте начнем!

1. Используйте enumerate()

Забыли, как правильно итерироваться по списку с индексами? Не беда! Вместо того, чтобы писать что-то вроде:

for i in range(len(my_list)):
    print(i, my_list[i])

Просто используйте enumerate():

for i, value in enumerate(my_list):
    print(i, value)

Теперь ваши индексы не будут выглядеть как случайные числа из лотереи! 🎰

2. zip() — ваш новый лучший друг

Объединить два списка в один? Не тратьте время на сложные циклы. Используйте zip():

names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 75]

for name, score in zip(names, scores):
    print(f"{name} scored {score}")

Теперь ваши списки выглядят как идеальная пара на танцполе! 💃🕺

3. Лямбда-функции для быстрого решения

Когда вам нужно что-то быстрое и грязное, используйте лямбда-функции. Например, чтобы получить квадрат числа:

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

Лямбда: когда вам нужно, чтобы код выглядел как шифр, но работал! 🔍

4. collections.Counter для подсчета

Зачем писать сложные функции для подсчета элементов, когда есть Counter?

from collections import Counter

my_list = ['apple', 'banana', 'apple', 'orange']
count = Counter(my_list)
print(count)

Теперь ваши фрукты не только вкусные, но и хорошо организованные! 🍏🍌

5. Используйте with для работы с файлами

Не оставляйте открытыми файлы, как забытый тост в тостере. Используйте with:

with open('file.txt', 'r') as f:
    data = f.read()

Ваши файлы будут закрыты, а тосты — поджарены! 🍞

6. defaultdict для автоматизации

Когда вам нужно создать словарь с умом, используйте defaultdict:

from collections import defaultdict

my_dict = defaultdict(int)
my_dict['a'] += 1
print(my_dict)

Теперь ваши словари не будут выглядеть как пустые страницы в дневнике! 📖

7. Списковые включения

Зачем писать сложные циклы, когда можно использовать списковые включения?

squares = [x ** 2 for x in range(10)]

Ваш код станет короче, а жизнь — проще! 🎉

8. itertools для продвинутых итераций

Когда вам нужно больше, чем просто базовые итерации, обратитесь к itertools:

import itertools

for combination in itertools.combinations(['A', 'B', 'C'], 2):
    print(combination)

Итерации, которые заставят вас почувствовать себя настоящим магом! 🧙‍♂️

9. 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)

Теперь ваши вычисления будут работать быстрее, чем вы успеете сказать "фибоначчи"! 🐇

10. typing для типизации

Не забывайте про типизацию! Это поможет вам избежать множества ошибок:

def greet(name: str) -> str:
    return f"Hello, {name}!"

Ваш код станет более понятным, как инструкции к микроволновке! 📜


Надеюсь, эти хитрости помогут вам стать настоящими мастерами Python! Помните, код — это не только работа, но и искусство.


image


All images are taken from the Pixabay.comБольше полезных статей 4adm.in