Python — это не просто язык программирования, это целая философия! Давайте взглянем на 10 хитростей, которые сделают вашу жизнь проще и, возможно, даже веселее.
enumerate()
Забыли, как получить индекс элемента в списке? Не беда! Вместо того чтобы использовать range(len(list))
, просто используйте enumerate()
. Это как получить два в одном: индекс и значение.
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
Не забудьте, что если вы не используете enumerate()
, то ваш код может стать так же длинным, как список покупок вашей бабушки!
Зачем писать циклы, если можно использовать списковые включения? Это как магия, только без волшебной палочки.
squares = [x**2 for x in range(10)]
Помните, что с великой силой приходит великая ответственность... и необходимость в комментариях!
zip()
Собираетесь объединить два списка? Используйте zip()
, и забудьте о сложных циклах!
names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 95]
for name, score in zip(names, scores):
print(f"{name}: {score}")
Это как сводить на свидание два списка и надеяться, что они поладят!
defaultdict
из collections
Когда вам нужно создать словарь с умными значениями по умолчанию, используйте defaultdict
. Это как иметь запасную пару носок — всегда полезно!
from collections import defaultdict
d = defaultdict(int)
d['key'] += 1
Теперь ваши ошибки будут менее болезненными, как носки с дырками!
with
для работы с файламиНе забывайте закрывать файлы! Лучше всего делать это с помощью with
, чтобы не переживать о том, что файл останется открытым, как ваш холодильник после вечеринки.
with open('file.txt', 'r') as f:
content = f.read()
Это как иметь супергероя, который всегда закрывает за вами двери!
itertools
Если вам нужно что-то более сложное, чем просто перебор, обратитесь к itertools
. Это как швейцарский нож для итераций!
import itertools
combinations = itertools.combinations(['A', 'B', 'C'], 2)
Пока ваши друзья пытаются решить, что заказать на ужин, вы уже перебрали все возможные комбинации!
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)
Теперь ваши вычисления будут такими же быстрыми, как ваши отговорки на работе!
pandas
для анализа данныхЕсли вы работаете с данными, pandas
— это ваш лучший друг. Это как Excel, только без постоянных зависаний.
import pandas as pd
data = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Score': [85, 90]})
Теперь вы можете анализировать данные так же легко, как и выбирать, какой сериал посмотреть!
matplotlib
для визуализацииЕсли вы хотите показать свои данные в красивом виде, используйте matplotlib
. Это как нарисовать график на доске, только без риска получить мелом по рукам.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [1, 4, 9])
plt.show()
Теперь ваши данные будут выглядеть так же хорошо, как ваше утреннее кофе!
Самая важная хитрость — это просто пробовать новое! Python — это язык, который позволяет вам ошибаться и учиться на своих ошибках.
All images are taken from the Pixabay.comБольше полезных статей 4adm.in