Цепочки итераторов
Cостыковывая многочисленные итераторы в цепочку, можно
писать чрезвычайно эффективные «конвейеры» обработки данных:
Cостыковывая многочисленные итераторы в цепочку, можно
писать чрезвычайно эффективные «конвейеры» обработки данных:
def integers():
for i in range(1, 9):
yield i
>>> chain = integers()
>>> list(chain)
[1, 2, 3, 4, 5, 6, 7, 8]
def squared(seq):
for i in seq:
yield i * i
>>> chain = squared(integers())
>>> list(chain)
[1, 4, 9, 16, 25, 36, 49, 64]
def negated(seq):
for i in seq:
yield -i
>>> chain = negated(squared(integers()))
>>> list(chain)
[-1, -4, -9, -16, -25, -36, -49, -64]
Ключи в словарях
как {True: 'возможно'} , потому что сравнение всех ключей этого примера,
True , 1 , и 1.0 , будет показывать их как эквивалентные друг другу, и они
все имеют одинаковое хеш-значение
>>> {True: 'да', 1: 'нет', 1.0: 'возможно'}
{True: 'возможно'}
Выражение-словарь {True: 'да', 1: 'нет', 1.0: 'возможно'} вычисляетсякак {True: 'возможно'} , потому что сравнение всех ключей этого примера,
True , 1 , и 1.0 , будет показывать их как эквивалентные друг другу, и они
все имеют одинаковое хеш-значение
>>> True == 1 == 1.0#hash #eq #dict
True
>>> (hash(True), hash(1), hash(1.0))
(1, 1, 1)
Forwarded from Python/ django
2 статьи о сессиях sqlalchemy и celery\gunicorn workers
https://www.yangster.ca/post/not-the-same-pre-fork-worker-model/
https://davidcaron.dev/sqlalchemy-multiple-threads-and-processes/
#sqlalchemy #threads #gunicorn #celery
https://www.yangster.ca/post/not-the-same-pre-fork-worker-model/
https://davidcaron.dev/sqlalchemy-multiple-threads-and-processes/
#sqlalchemy #threads #gunicorn #celery
Yangster
Not The Same Pre-fork Worker Model
Running into bugs when forking at the wrong time