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

in #python5 days ago

image


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

Привет, программисты и любители кода! Сегодня мы поговорим о 10 умных хитростях Python, которые помогут вам писать код быстрее, эффективнее и, возможно, даже с улыбкой на лице. Готовы? Поехали!

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

Зачем писать for i in range(len(my_list)), когда можно просто использовать for i, value in enumerate(my_list)? Это как если бы вы могли заказывать кофе и получать его сразу с сахаром и сливками!

my_list = ['apple', 'banana', 'cherry']
for index, value in enumerate(my_list):
    print(index, value)

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

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

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

3. zip() для параллельных итераций

Если вам нужно итерировать по нескольким спискам одновременно, zip() — ваш верный друг. Это как если бы вы могли одновременно держать в руках два мороженых!

names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
    print(f"{name} is {age} years old.")

4. Используйте defaultdict из collections

Когда вам нужно создать словарь, который не выдает ошибку при обращении к отсутствующему ключу, используйте defaultdict. Это как если бы у вас был запасной ключ от квартиры, когда вы забыли основной!

from collections import defaultdict

my_dict = defaultdict(int)
my_dict['a'] += 1
print(my_dict['b'])  # Вернет 0, а не ошибку!

5. with для управления ресурсами

Не забывайте использовать with для работы с файлами. Это как если бы вы всегда возвращали книгу в библиотеку, не дожидаясь штрафа!

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

6. Функции высшего порядка

Функции в Python могут принимать другие функции в качестве аргументов. Это как если бы вы могли заказывать пиццу с разными начинками — и каждая начинка может быть функцией!

def apply_function(func, value):
    return func(value)

result = apply_function(lambda x: x * 2, 10)

7. itertools для итераций

Если вам нужно работать с итерациями, библиотека itertools — это настоящая находка. Это как швейцарский нож для программиста: всегда под рукой и всегда полезен!

import itertools

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

8. functools.lru_cache для кеширования

Если у вас есть функции, которые требуют много вычислений, используйте 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)

9. dataclasses для удобного хранения данных

Если вам нужно создать класс для хранения данных, используйте dataclasses. Это как если бы вы могли создать свой собственный контейнер для пиццы, который всегда будет в форме!

from dataclasses import dataclass

@dataclass
class Pizza:
    size: str
    toppings: list

10. Не забывайте про try-except

Обрабатывайте ошибки с помощью try-except, чтобы ваш код не ломался, как неудачная шутка на вечеринке. Это как если бы вы всегда имели запасной план на случай, если шутка не зайдет!

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Не делите на ноль, это не сработает!")

Вот и все! Надеюсь


image


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