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

in #python4 days ago

image


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

Привет, программисты и любители кода! Сегодня мы поговорим о 10 умных хитростях в Python, которые помогут вам стать настоящим мастером. И не переживайте, если вы не знаете, что такое "мастер" — это просто тот, кто может отладить код за 5 минут, а не за 5 дней! 😊

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

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

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

2. Словари с defaultdict

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

from collections import defaultdict

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

3. Лямбда-функции

Лямбда-функции — это как швейцарский нож для программиста: маленькие, но могут сделать много! Используйте их, чтобы писать компактный код.

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

4. zip() для параллельного перебора

Зачем писать два цикла, когда можно использовать zip()? Это как объединить два потока в один — и все счастливы!

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

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

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

Списковые включения — это как магия: вы можете создать новый список, не вставая с дивана!

squares = [x ** 2 for x in range(10)]
print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

6. with для работы с файлами

Забудьте о закрытии файлов вручную. Используйте with, и Python сам позаботится о вас, как заботливая мама!

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

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

Модуль itertools — это как шведский стол для итераторов. Выберите, что вам нужно, и не забудьте про десерт!

import itertools

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

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. argparse для обработки аргументов командной строки

Не хотите писать длинные input()? Используйте argparse и позвольте пользователю вводить данные как настоящий хакер!

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--name', type=str, help='Your name')
args = parser.parse_args()
print(f"Hello, {args.name}!")

10. Pandas для работы с данными

Если вы работаете с данными, Pandas — это ваш лучший друг. Он не только быстро обрабатывает данные, но и делает это с улыбкой! 😄

import pandas as pd

data = {'Name': ['Alice', 'Bob'], 'Score': [85, 90]}
df = pd.DataFrame(data)
print(df)

Вот и все! Эти хитрости помогут вам писать код быстрее и эффективнее. Помните,


image


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