Python язык медленный и для любого минимального ускорения приходится хитрить, а так же учитывать особенности языка.
Одной из таких особенностей является разница в скорости способов создания словарей и множеств.
Варианты …
В каком виде лучше всего хранить список событий в python.
Чаще всего я видел, что хранят в виде списка словарей.
Что-нибудь типа такого:
dt = datetime(2007, 11, 26, 0, 0) …
Про декораторы знают все и как их делать написано много уже где.
Но вот про декораторы в рамках класса с доступом к параметрам класса надо еще поискать.
Декоратор внутри класса …
Среди коллег разработчиков на python бытует мнение что генераторы и итераторы быстрее, чем перебор for`ом
Но это не всегда так.
Вот пример:
def sum_times():
ch = ['bad', 'good']
data_list = …
def concat_times():
x = 'abc' * 10000
y = 'def' * 10000
time_start = datetime.datetime.now()
z = x + y
print(f'"+" Elapsed: {datetime.datetime.now() …
Это копия статьи с Хабра.
Мне информация показалась полезной потому сохраню у себя на память.
---
Как изменилась стандартная библиотека Python за последние годы
Когда выходит очередная версия Python, все внимание достается новым фичам языка: моржовому оператору, слиянию словарей, паттерн-матчингу. Еще много пишут об изменениях в асинхронной работе (модуль asyncio) и типизации (модуль typing) — эти модули на виду и бурно развиваются.
Остальным модулям стандартной библиотеки достается незаслуженно мало внимания. Хочу это исправить и рассказать, что интересного появилось в версиях 3.8–3.10.
Бывают случаи что на этапе инициализации моделей нет возможности сформировать список для полей с выбором (choices).
В таком случае этот момент можно решить созданием в модели обычного текстового поля, а само поле выбора (select) реализовать в модельной форме с помощью виджета.
Набор полезных однострочных и почти однострочных конструкций python от youtube канала Digitalize.
Хоть все они давно известны, но почему-то далеко не все их используют ;)
1. Распаковка
x, y, z = input().strip().split()
2. map: Выполнение функции для каждого элемента последовательности
x, y, z = map(int, (x, y, z)
# Объединяем с предыдущим
x, y, z = map(int, input().strip().split())
а если моделей сотни, а если тысячи 0_о?
Понимание текущей схемы моделей проекта Django важно для успешной разработки.
Генерировать подобные схемы умеют продвинутые IDE типа PyCharm.
Но есть возможность генерации без IDE из консоли.
Для этого я использую django-extensions и pygrafviz и получаю что-то типа этого:
Для создания подобных схем нам необходимо: