Добро пожаловать на сайт документации модуля py-billow.
Реализованы типы Nil - синглтон, подобный True и False, только ближе к SQL NULL значению, который интероперабельностью дает значение Nil в случае любой алгебраической операции над ним, редуцируя любые операции над ним, возвращая Nil каждый раз.
Из SQL взяты:
- coalesce_it(it), coalesce_at(varags) - возвращает первый не-Nil элемент, для итератора и для переменного количества аргументов соответственно;
- expectone_it(it), expectone_at(varargs) - возвращает единственный не-Nil элемент, если он задан один, если больше, то генерируется исключение billow.ExcpectOneError с набором превышения одного не-Nil элемента. Для итератора и для переменного количества аргументов соответственно;
- count_it(it), count_at(varargs) - возвращает количество не-Nil элементов, для итератора и для переменного количества аргументов соответственно;
- min_it(it), min_at(varargs) - возвращает первый минимальный не-Nil элемент, для итератора и для переменного количества аргументов соответственно;
- max_it(it), max_at(varargs) - возвращает первый максимальный не-Nil элемент, для итератора и для переменного количества аргументов соответственно;
- min_override_it(it), min_override_at(a\varargs) - возвращает последний минимальный не-Nil элемент, для итератора и для переменного количества аргументов соответственно;
- max_override_it(it), max_override_at(varargs) - возвращает последний максимальный не-Nil элемент, для итератора и для переменного количества аргументов соответственно;
- minmax_it(it), minmax_at(varargs) - возвращает пару первых минимального и максимального не-Nil элементов, для итератора и для переменного количества аргументов соответственно;
- minmax_override_it(it), minmax_override_at(varargs) - возвращает пару последних минимального и максимального не-Nil элементов, для итератора и для переменного количества аргументов соответственно.
Функуии minmax* кроме того, что изначально не берут в расчет Nil элементы, позволяют использовать 3 сравнения из 4, за счет этого скорость расчета быстрее на 25%, по сравнению с послеовательным взятием минимума и максимума.
Объект пары объктов billow.pair, то же, что и tuple из двух элементов, только памяти занимает в 3/7 меньше для 32-ух битной платфомы, и практически в два раза для 64-ех битной платформы.
Объект-тип двусвязанного списка billow.ring,, направление обхода которого задается атрибутом order, Каждый экземпляр billow.ring является полноценным итератором, которые можжно породить атрибутами .iter(), .reversed(), shadow().
Тип двусвязанного циклического типа billow.ring(). Там, где вы используете методы .insert() или del list[element], лучше подойдет этот тип данных billow.ring(). Методы типа billow.ring():
- .roll() - пролистать один элемент в shadow область и вернуть его значение. Делает то же, что и метод .next(), Для пустой последовательности генерирует исключение StopIterator;
- .get(defaultvalue) - получить не прелистывая следующий элемент, если последовательность пуста, то вернуть defaultvalue;
- .pop() - вернуть удалив первый элемент. Для пустой последовательности генерирует исключение StopIterator;
- .push(elem) - положить один элемент в начало;
- .extend(it) - разширить последовательность из итератора;
- .stackextend(it) - расширить итератор из имеющейся последовательности it как стек;
- .shadow() - получить итератор на ранее пройденные элементы;
- .iter() -получить прямой итератор на имеющийся,с тем же значением shadow - пройденных елементов;
- .reversed() - получить обратного обхода итератор из имеющегося;
- .aggrwith(it) - объединить два разнородных billow.ring итераторов в пользу объекта, от которого вызван метод;
- restart() - перезапускает итератор на пройденные элементы из shadow области вновь попадают на итерирование;
- truncate() - удаляет для прямого прохождения все элементы для всех итераторов данной группы (всё равно, что последовательный ring.pop);
- truncate_shadow() - удаляет shadow область, уже пройденные итератором элементы;
- trunacate_full() - опустошает циклический список;
The wiki uses Markdown syntax.
Project Members: