TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #401 · 15 дек.

Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач. Она работает в нескольких режимах. 1. Самый простой - ждем завершения всех задач async def main(): tasks = [asyncio.create_task(do_it(i)) for i in range(10)] done, pending = await asyncio.wait( tasks, return_when=asyncio.ALL_COMPLETED ) for task in done: try: print(task.result()) except Exception as e: print(e) Очень похоже на gather, но работает не так. ▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done ▫️не гарантирует порядок результатов так как оба объекта это set ▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат. 2. Ждем завершения первой задачи, даже если там ошибка. async def main(): tasks = [asyncio.create_task(do_it(i)) for i in range(3)] done, pending = await asyncio.wait( tasks, return_when=asyncio.FIRST_COMPLETED ) # в done может быть несколько задач! for task in done: try: print(task.result()) except Exception as e: print(f"Fail: {e}") # Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать for task in pending: task.cancel() В сете done будут таски которые успели завершится, причем как успешно так и нет. 3. До первой ошибки. Тоже самое, но с аргументом FIRST_EXCEPTION done, pending = await asyncio.wait( tasks, return_when=asyncio.FIRST_EXCEPTION ) Функция завершается как только первая задача упадет с ошибкой. Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные. ↗️ Полный листинг примеров здесь #async

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #74f

当前筛选 #74f清除筛选
Hypercube's Channel

@SmartHypercube_channel · Post #84 · 29.07.2022 г., 08:43

https://0x01.me/colorspace/ (网页可以交互) 最近学了一些 OpenGL,做了一个我一直想做的事情:把 sRGB 的结构在 CIELUV 色彩空间中展示出来。 之前看这个博客 https://ciechanow.ski/ 觉得好羡慕,也想用可交互的 3D 模型更好地学习和讲解一些概念。之后可能会进一步做一些 CIELUV 色彩空间相关的工具。 CIELUV 色彩空间是符合人眼对光的感知的,它有三个主要的性质: 1. 在这个空间中,任意两点的欧几里德距离就表示在人眼看来它们相差多少 2. L 坐标轴(图中纯白和纯黑之间的连线)符合人眼对光的强度的感知,任意一点的 L 坐标表示在人眼看来它有多亮 3. 任意一点偏离 L 坐标轴的程度表示它有多强烈的“色彩”(相对于白灰黑) 常用的 sRGB 色彩空间是没有这三个性质的,例如 #f00#0f0#00f 看起来亮度并不相同。#000 #111 #222 #333 也不是等间距的。 这张图中每一小段连线表示 rgb 中的某个分量变化了 17,每个交点表示一个 rgb 分量都是 17 的整数倍的颜色(也就是能用 #ccc#74f 等这种缩写表示的颜色)