"10 Умных Хитростей Python: Библиотеки и Лайфхаки
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
Потому что если ваш код не тестируется, он может быть не таким уж и хорошим другом!
Вот и все, друзья! Надеюсь, эти хитрости сделают ваш код более элегантным и, возможно, даже добавят немного юмора в вашу жизнь. Не забывайте делиться своими собственными лайфхаками в комментариях! 🐍💻
All images are taken from the Pixabay.comБольше полезных статей 4adm.in