Большие циклы быстрее в while
- условие и назад - то есть, если порядок цикла не имеет значения для Вас. Приблизительно в 50% моего кода это обычно не делает.
т.е.
var i, len = 100000;
for (var i = 0; i < len; i++) {
// do stuff
}
медленнее, чем:
i = len;
while (i--) {
// do stuff
}
Мне нравятся пространства имен - поэтому я думаю, что import b
должен получать только то, что находится в самом b
(предположительно в b / __ init__. py
). Если есть причина для разделения других функций в bc
, bcd
или в чем-то еще, то просто import b
не должно перетаскивать все это - если "перетащите все в "действительно происходит", я думаю, это говорит о том, что разделение пространства имен, вероятно, было ложным с самого начала. Конечно, есть примеры даже в стандартной библиотеке ( import os
, затем вы можете использовать os.path.join
и т.п.), но они древние, по сути «дедушкины» вещи еще до того, как система упаковки Python стала зрелой и стабильной. В новом коде я d настоятельно рекомендует, чтобы пакет не перетаскивал свои подпакеты за собой, когда вы его импортируете. (Сделайте импортируйте этот
в командной строке Python и подумайте о самой последней строке, которую он показывает; -).
__ all __
= [ваши вары, функции, классы]
Используйте синтаксис выше в пакете b __ init __. Py
для автоматической загрузки вещей, перечисленных в dict. :)