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

10 Удивительных Хитростей Python: Библиотеки и Лайфхаки
Привет, программисты! Если вы думали, что знаете всё о Python, то приготовьтесь к удивлению. Вот 10 хитростей, которые сделают вашу жизнь проще, а код — красивее. И не забывайте, что Python — это не только язык, но и стиль жизни (и, возможно, единственная причина, по которой вы не спите по ночам).
1. enumerate() — Ваш лучший друг
Забыли, как получить индекс элемента в списке? Не беда! Вместо того чтобы прибегать к for i in range(len(my_list)), используйте enumerate(). Это как получить два в одном: индекс и значение!
my_list = ['apple', 'banana', 'cherry']
for index, value in enumerate(my_list):
print(index, value)
Заметка: если вы используете enumerate в реальной жизни, это может привести к неожиданным последствиям. Например, вы можете начать перечислять фрукты в супермаркете.
2. Списковые включения — магия в действии
Списковые включения — это как заклинание для создания списков. Вы можете создать новый список, не выходя из своего уютного кода.
squares = [x**2 for x in range(10)]
Проблема в том, что после этого вы можете начать включать всё подряд, и ваш код превратится в "всё включено".
3. zip() — Параллельные вселенные
Если вам нужно объединить два списка в один, используйте zip(). Это как свадьба для списков: они становятся одной неразлучной парой.
names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 95]
combined = list(zip(names, scores))
Но будьте осторожны: если списки разной длины, один из них может уйти без предупреждения!
4. defaultdict из collections — ваш надежный запасной вариант
Когда вы хотите создать словарь, но не хотите беспокоиться о том, существует ли ключ, используйте defaultdict. Он всегда на вашей стороне!
from collections import defaultdict
d = defaultdict(int)
d['apples'] += 1
Теперь вы можете собирать статистику о фруктах, не беспокоясь о том, что они могут вас предать!
5. itertools — бесконечные возможности
Библиотека itertools — это как швейцарский нож для итераторов. Комбинации, перестановки, бесконечные итераторы — всё это под рукой!
import itertools
for combo in itertools.combinations(['A', 'B', 'C'], 2):
print(combo)
Но помните: с великой силой приходит великая ответственность. Не используйте itertools для выбора, что есть на ужин!
6. with для управления ресурсами
Когда вы работаете с файлами, используйте with. Это как иметь личного помощника, который закроет за вами двери!
with open('file.txt') as f:
contents = f.read()
И не беспокойтесь о том, что кто-то оставил дверь открытой — Python сам всё закроет!
7. 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)
Теперь вы можете вычислять числа Фибоначчи быстрее, чем ваша бабушка считает овец!
8. pathlib — работа с путями
Забудьте о старом добром os.path. pathlib — это современный способ работы с путями. Это как переход от старого телефона к смартфону!
from pathlib import Path
p = Path('my_directory') / 'file.txt'
Теперь ваши пути будут выглядеть так стильно, что даже Google Maps позавидует!
9. requests — HTTP без боли
Работаете

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