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

avatar

image


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

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

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

Зачем мучиться с индексами в цикле, если есть enumerate()?

fruits = ['яблоко', 'банан', 'апельсин']
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

Или просто запишите: "Я всегда был номером один!"

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

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

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

Лямбда: когда вы хотите, чтобы ваш код выглядел как математическое уравнение, но не хотите тратить на это время.

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

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

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

Пока ваши друзья пишут циклы, вы уже на пути к кофе!

4. zip()

Когда у вас есть два списка и вы хотите, чтобы они соединились, как старые друзья:

names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 95]
combined = list(zip(names, scores))
print(combined)

Идеально, если вы хотите устроить соревнование, кто быстрее соберет пары!

5. defaultdict из collections

Забудьте о KeyError, у вас теперь есть лучший друг:

from collections import defaultdict

word_count = defaultdict(int)
for word in ['apple', 'banana', 'apple']:
    word_count[word] += 1
print(word_count)

Какой-то фруктовый словарь, но без грусти.

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

Не оставляйте открытыми файлы, как свои старые мечты:

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

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

7. itertools для бесконечных итераций

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

import itertools

for i in itertools.count(10):
    if i > 15:
        break
    print(i)

Потому что иногда "бесконечно" — это именно то, что вам нужно!

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

Теперь ваши функции работают быстрее, чем вы успели нажать "Ctrl + Z"!

9. pathlib для работы с путями

Пусть ваши пути будут красивыми и понятными:

from pathlib import Path

p = Path('some/directory')
for file in p.iterdir():
    print(file.name)

Потому что работать с путями — это не только для географов!

10. pytest для тестирования

Тестирование кода — это как проверка домашнего задания, только без наказаний:

def test_add():
    assert add(2, 3) == 5

Потому что если ваш код не тестируется, он может быть не таким уж и хорошим другом!


Вот и все, друзья! Надеюсь, эти хитрости сделают ваш код более элегантным и, возможно, даже добавят немного юмора в вашу жизнь. Не забывайте делиться своими собственными лайфхаками в комментариях! 🐍💻


image


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



0
0
0.000
0 comments