Привет, коллеги-программисты! Сегодня мы поговорим о 10 хитростях Python, которые помогут вам сделать код более элегантным и, возможно, даже заставят вас улыбнуться. Поехали!
enumerate()Зачем писать for i in range(len(my_list)), когда можно просто использовать enumerate()? Это не только короче, но и выглядит более стильно.
for index, value in enumerate(my_list):
print(index, value)
Потому что индексировать списки вручную — это как писать на машинке в эпоху интернета!
Зачем создавать пустой список и добавлять в него элементы в цикле, когда можно использовать списковые включения?
squares = [x**2 for x in range(10)]
Это как делать салат: нарезал, и готово!
zip() для параллельной итерацииЕсли вам нужно пройтись по нескольким спискам одновременно, используйте zip(). Это как идти на свидание с двумя людьми — только лучше!
for name, age in zip(names, ages):
print(f"{name} is {age} years old.")
defaultdict из collectionsКогда вам нужно создать словарь, который не выдает ошибку при обращении к отсутствующему ключу, используйте defaultdict. Это как иметь запасные ключи от квартиры!
from collections import defaultdict
my_dict = defaultdict(int)
my_dict['a'] += 1
Теперь ваш словарь не будет кричать "Кто там?" каждый раз, когда вы его открываете!
with для работы с файламиНе забывайте о контекстных менеджерах! Они помогут вам избежать утечек памяти и других проблем.
with open('file.txt') as f:
content = f.read()
Это как иметь надежного друга, который всегда закрывает за вами дверь!
itertools для комбинаций и перестановокЕсли вам нужно работать с комбинациями и перестановками, библиотека itertools — ваш лучший друг.
import itertools
combinations = list(itertools.combinations(range(4), 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 — это как швейцарский нож для программиста. Она сделает вашу жизнь проще.
import pandas as pd
df = pd.read_csv('data.csv')
Потому что с данными не шутят, если только вы не программист!
matplotlib для визуализацииНе забывайте визуализировать свои данные с помощью matplotlib. Графики — это как фотографии вашего кода, только красивее!
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()
Потому что иногда данные хотят быть красивыми!
*args и **kwargsКогда вы не знаете, сколько аргументов получите, используйте *args и **kwargs. Это как открывать подарки на день рождения — всегда сюрприз!
def my_function(*args, **kwargs):
print(args)
print(kwargs)
Потому что жизнь слишком коротка, чтобы знать заранее, что вам подарят!
Вот и все! Надеюсь, эти хитрости сделают вашу жизнь немного проще и веселее. Не забывайте, что программисты тоже
All images are taken from the Pixabay.comБольше полезных статей 4adm.in