Комментарии 10
Мне на первой работе (аутстафф) дали ТЗ по реализации каталога с использованием фреймворка, по устройству дали дополнительно неделю на то, чтобы официальную документацию по новому для меня питону прочитать. На все упомянутые нюансы можно в процессе ручной проверки наткнуться, их много, все не запомнить, зато со всеми можно разобраться.
Цениться должны здоровые привычки и компетентное отношение к своей работе. Впрочем, пока в части законов изменения не произойдут, которые усилят ответственность за откровенную ложь с обоих сторон, ничего не поменяется. В идеальном мире рабочие отношения должны строиться на чем-то ещё, кроме бабок, а пока имеем, что имеем.
Задача: нужно сделать 1000 запросов к внешнему API. Что выбрать?
Ничего. Просто один обычный цикл, возможно даже со sleep(5) внутри. Потому что как только вы попытаетесь распараллелить запросы, вас незамедлительно забанят за превышение рейт-лимитов
Индекс найдёт 50% строк — это почти весь стол
А плашка перевода не стоит...
Какая то разрозненная ерунда, одна половина вообще к python не особо относится, другая какие-то фичи из учебников, которые применяются раз в год. Ну ладно позднее связывание может ок.
Хз зачем это все джуну.
-- Индекс найдёт 50% строк — это почти весь стол
Как у вас таблица превратилась в стол? Это машинный перевод англоязычной статьи?
Не знаю зачем я прочитал, но было интересно и познавательно (не ирония).
Индекс — это отдельная структура данных (обычно B-tree), которая хранит отсортированные значения колонки и указатели на строки.
Это НЕ относится к кластерному индексу.
Почему нельзя просто проиндексировать всё?
Дополнительные расходы на обновление - вовсе не единственная причина. Не менее важно не забывать, что одна копия таблицы в запросе может использовать только один индекс, вне зависимости от того, сколько имеющихся индексов соответствуют условиям в запросе.
это почти весь столб
ну что за клоуны.
По поводу позднего связывания. Рожать лямбду с фейковым аргументом по умолчанию - ЭТО ПОРНОГРАФИЯ. Начнём хотя бы с того, что теперь эта лямбда может принимать аргументы!
А если вам и так уже нужна лямбда с аргументами?
Поэтому делаем чисто и аккуратно: пишем лямбду, возвращающую лямбду.
```
# многословно
def make_nth_fun(n):
def fun():
return n
return fun
funs = [make_nth_fun(i) for i in range(10)]
# в одну строчку, с разными именами, чтоб не запутаться
funs = [(lambda n: (lambda : n))(i) for i in range(10)]Вот и всё.
print(sys.getsizeof(u1)) # ~48 байт + словарь ~232 байт = ~280 байт
print(sys.getsizeof(u2)) # ~56 байт — всё!
Для какой версии это написано нагенерено? В 3.11, который ну вот совсем не новый, 56 и 48.
Ну а уж запихивать проблемы индексов SQL в статью "по питону".... Это не проблема [не]знаний питона.

Топ-10 вопросов на Python backend собеседовании, которые валят джунов