Комментарии 19
А где сравнение производительности то? Из статьи понял, что если надо написать код, который будет создавать в цикле пустые словари и ничего с ними дальше не делать, то лучше использовать {}
.
Так вот же в статье указано -
$ python -m timeit "dict()"
10000000 loops, best of 5: 40 nsec per loop
$ python -m timeit "{}"
20000000 loops, best of 5: 19.6 nsec per loop
Про маски можно почитать тут:
Приятное чувство, когда только начал изучать язык и вдруг узнал, что уже делаю в нём словари оптимальным способом)
Всегда стараюсь писать dict() вместо {} чтобы не заставлять других вспоминать, что это будет по умолчанию, set или dict
allocate = распределить?
Оригинал тоже мутный, конструктором (constructor) почему-то называется `__new__`, хотя по общепринятой терминологии конструктор это `__init__`
Смотря что понимать под словом "конструктор". Метод new()
создаёт экземпляр класса, а init()
- инициализирует его атрибуты. В документации Питона init()
называют не конструктором, а "специальным методом". Процесс конструирования состоит из этих двух методов, поэтому ни new()
, ни init()
по отдельности не являются конструкторами. В принципе можно назвать и то, и другое конструкторами, но это будет не совсем верное определение.
Сравнение производительности dict() и {} в Python