База Hintsage

Программирование Python

Язык Python и его модель данных.

Темы раздела

Выберите подраздел

Практика

Вопросы: Программирование Python

Вам нужно вынести вычисление из event loop в отдельный процесс. Какой механизм помешает этому коду передать функцию исполнителю?

import asyncio
from concurrent.futures import ProcessPoolExecutor

async def main():
    def square(x):
        return x * x

    loop = asyncio.get_running_loop()
    with ProcessPoolExecutor() as pool:
        result = await loop.run_in_executor(pool, square, 3)
        print(result)

if __name__ == "__main__":
    asyncio.run(main())
Программирование PythonКонкурентность и asyncioPython-разработчик серверных приложений

В сервисе две корутины запускаются через asyncio.gather, но внутри каждой вызывается обычная блокирующая функция. Какой эффект это окажет на выполнение задач?

import asyncio
import time

def blocking_work():
    time.sleep(2)

async def worker(name):
    print(f"{name}: start")
    blocking_work()
    print(f"{name}: done")

async def main():
    await asyncio.gather(worker("A"), worker("B"))

asyncio.run(main())
Программирование PythonКонкурентность и asyncioPython-разработчик серверных приложений

Представьте, что исключение перехватывается внутри тела with. Какие значения получит __exit__ в этом случае?

class Logger:
    def __enter__(self):
        print("enter")
        return self

    def __exit__(self, exc_type, exc, tb):
        print(exc_type, exc)
        return False

with Logger():
    try:
        raise ValueError("ошибка")
    except ValueError:
        print("handled")
Программирование PythonФункции и декораторыPython-разработчик серверной части

Показано 141160 из 348