Привет, кодеры! 🐍 Если вы думаете, что Python — это просто язык для написания скриптов, то вы явно не видели, что он может сделать с вашим кодом! Давайте рассмотрим 10 хитростей, которые помогут вам стать настоящим мастером Python. И не забывайте: код может быть красивым, но он не должен быть слишком серьезным! 😄
enumerate()Зачем писать for i in range(len(my_list))? Используйте enumerate(), чтобы получить индекс и элемент в одном флаконе!
for index, value in enumerate(my_list):
print(index, value)
Потому что индекс — это не только для математики!
Когда вам нужно что-то быстрое и грязное. Лямбда-функции — это как одноразовые стаканчики: удобно, но не всегда красиво!
square = lambda x: x ** 2
print(square(5)) # 25
И не забудьте выбросить после использования!
Создавайте списки быстрее, чем ваша бабушка может сделать пирожки!
squares = [x ** 2 for x in range(10)]
Пирожки не включены в поставку!
zip()Собирайте списки вместе, как будто они на вечеринке!
names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 95]
combined = list(zip(names, scores))
Теперь у вас есть список имен и оценок. Кто же получит пирожок?
with для управления ресурсамиНе оставляйте открытыми файлы, как не оставляете открытыми холодильники!
with open('file.txt', 'r') as file:
content = file.read()
Потому что никто не хочет, чтобы ваш код был "протекающим"!
defaultdict из collectionsКогда вам нужно, чтобы словарь был более дружелюбным!
from collections import defaultdict
d = defaultdict(int)
d['key'] += 1
Потому что "по умолчанию" — это не только для настроек!
Counter для подсчетаЗабудьте о ручном подсчете, дайте Counter сделать всю работу!
from collections import Counter
count = Counter(['apple', 'orange', 'apple'])
Теперь вы точно знаете, кто выиграл в битве фруктов! 🍏🍊
itertools для итерацийКогда вам нужно больше итераций, чем у вас идей!
import itertools
for combination in itertools.combinations(['A', 'B', 'C'], 2):
print(combination)
Потому что иногда жизнь — это просто комбинация!
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)
Потому что повторение — мать учения, но кэш — отец!
dataclassesКогда вам нужно создать класс, но вы не хотите тратить на это целую вечность!
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int
Потому что писать код не должно быть похоже на написание романа!
Вот и все! Надеюсь, эти хитрости сделают вашу жизнь в Python немного проще и веселее. Помните: код — это не просто работа, это искусство (или, по крайней мере, попытка создать его)! 🎨💻
Happy coding! 🐍✨
All images are taken from the Pixabay.comБольше полезных статей 4adm.in