asyncio-llapi-index.md
1> **Источник:** https://python-all.ru/3.9/library/asyncio-llapi-index.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Индекс низкоуровневого API89На этой странице перечислены все низкоуровневые API asyncio.1011## Получение цикла событий1213| [`asyncio.get_running_loop()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.get_running_loop) | **Предпочтительная** функция для получения работающего цикла событий. |14| --- | --- |15| [`asyncio.get_event_loop()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.get_event_loop) | Получить экземпляр цикла событий (текущий или через политику). |16| [`asyncio.set_event_loop()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.set_event_loop) | Установить цикл событий как текущий через текущую политику. |17| [`asyncio.new_event_loop()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.new_event_loop) | Создаёт новый цикл событий. |1819Примеры2021- [Использование asyncio.get\_running\_loop()](https://python-all.ru/3.9/library/asyncio-future.html#asyncio-example-future).2223## Методы цикла событий2425См. также основной раздел документации о [методах цикла событий](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio-event-loop).2627Жизненный цикл2829| [`loop.run_until_complete()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.run_until_complete) | Запускает Future, задачу или ожидаемый объект до завершения. |30| --- | --- |31| [`loop.run_forever()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.run_forever) | Запускает цикл событий бесконечно. |32| [`loop.stop()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.stop) | Останавливает цикл событий. |33| [`loop.close()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.close) | Закрывает цикл событий. |34| [`loop.is_running()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.is_running) | Возвращает `True`, если цикл событий работает. |35| [`loop.is_closed()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.is_closed) | Возвращает `True`, если цикл событий закрыт. |36| `await` [`loop.shutdown_asyncgens()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.shutdown_asyncgens) | Закрывает асинхронные генераторы. |3738Отладка3940| [`loop.set_debug()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.set_debug) | Включает или отключает режим отладки. |41| --- | --- |42| [`loop.get_debug()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.get_debug) | Возвращает текущий режим отладки. |4344Планирование колбэков4546| [`loop.call_soon()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.call_soon) | Вызывает колбэк в ближайшее время. |47| --- | --- |48| [`loop.call_soon_threadsafe()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.call_soon_threadsafe) | Потокобезопасный вариант [`loop.call_soon()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.call_soon). |49| [`loop.call_later()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.call_later) | Вызывает колбэк *через* указанное время. |50| [`loop.call_at()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.call_at) | Вызывает колбэк *в* указанное время. |5152Пул потоков/процессов5354| `await` [`loop.run_in_executor()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.run_in_executor) | Запускает CPU-интенсивную или другую блокирующую функцию в [`concurrent.futures`](https://python-all.ru/3.9/library/concurrent.futures.html#module-concurrent.futures) исполнителе. |55| --- | --- |56| [`loop.set_default_executor()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.set_default_executor) | Устанавливает исполнитель по умолчанию для [`loop.run_in_executor()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.run_in_executor). |5758Задачи и Future5960| [`loop.create_future()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_future) | Создаёт объект [`Future`](https://python-all.ru/3.9/library/asyncio-future.html#asyncio.Future). |61| --- | --- |62| [`loop.create_task()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_task) | Планирует корутину как [`Task`](https://python-all.ru/3.9/library/asyncio-task.html#asyncio.Task). |63| [`loop.set_task_factory()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.set_task_factory) | Устанавливает фабрику, используемую [`loop.create_task()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_task) для создания [`Tasks`](https://python-all.ru/3.9/library/asyncio-task.html#asyncio.Task). |64| [`loop.get_task_factory()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.get_task_factory) | Возвращает фабрику, которую [`loop.create_task()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_task) использует для создания [`Tasks`](https://python-all.ru/3.9/library/asyncio-task.html#asyncio.Task). |6566DNS6768| `await` [`loop.getaddrinfo()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.getaddrinfo) | Асинхронная версия [`socket.getaddrinfo()`](https://python-all.ru/3.9/library/socket.html#socket.getaddrinfo). |69| --- | --- |70| `await` [`loop.getnameinfo()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.getnameinfo) | Асинхронная версия [`socket.getnameinfo()`](https://python-all.ru/3.9/library/socket.html#socket.getnameinfo). |7172Сеть и IPC7374| `await` [`loop.create_connection()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_connection) | Открывает TCP-соединение. |75| --- | --- |76| `await` [`loop.create_server()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_server) | Создаёт TCP-сервер. |77| `await` [`loop.create_unix_connection()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_unix_connection) | Открывает соединение через Unix-сокет. |78| `await` [`loop.create_unix_server()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_unix_server) | Создаёт сервер Unix-сокетов. |79| `await` [`loop.connect_accepted_socket()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.connect_accepted_socket) | Оборачивает [`socket`](https://python-all.ru/3.9/library/socket.html#socket.socket) в пару `(transport, protocol)` . |80| `await` [`loop.create_datagram_endpoint()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_datagram_endpoint) | Открывает датаграммное (UDP) соединение. |81| `await` [`loop.sendfile()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.sendfile) | Отправляет файл через транспорт. |82| `await` [`loop.start_tls()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.start_tls) | Обновляет существующее соединение до TLS. |83| `await` [`loop.connect_read_pipe()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.connect_read_pipe) | Оборачивает конец чтения канала в пару `(transport, protocol)`. |84| `await` [`loop.connect_write_pipe()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.connect_write_pipe) | Оборачивает конец записи канала в пару `(transport, protocol)`. |8586Сокеты8788| `await` [`loop.sock_recv()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.sock_recv) | Получает данные из [`socket`](https://python-all.ru/3.9/library/socket.html#socket.socket). |89| --- | --- |90| `await` [`loop.sock_recv_into()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.sock_recv_into) | Получает данные из [`socket`](https://python-all.ru/3.9/library/socket.html#socket.socket) в буфер. |91| `await` [`loop.sock_sendall()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.sock_sendall) | Отправляет данные в [`socket`](https://python-all.ru/3.9/library/socket.html#socket.socket). |92| `await` [`loop.sock_connect()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.sock_connect) | Подключает [`socket`](https://python-all.ru/3.9/library/socket.html#socket.socket). |93| `await` [`loop.sock_accept()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.sock_accept) | Принимает соединение [`socket`](https://python-all.ru/3.9/library/socket.html#socket.socket). |94| `await` [`loop.sock_sendfile()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.sock_sendfile) | Отправляет файл через [`socket`](https://python-all.ru/3.9/library/socket.html#socket.socket). |95| [`loop.add_reader()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.add_reader) | Начинает наблюдение за файловым дескриптором на готовность к чтению. |96| [`loop.remove_reader()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.remove_reader) | Прекращает наблюдение за файловым дескриптором на готовность к чтению. |97| [`loop.add_writer()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.add_writer) | Начать наблюдение за файловым дескриптором на готовность к записи. |98| [`loop.remove_writer()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.remove_writer) | Прекратить наблюдение за файловым дескриптором на готовность к записи. |99100Сигналы Unix101102| [`loop.add_signal_handler()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.add_signal_handler) | Добавить обработчик для [`signal`](https://python-all.ru/3.9/library/signal.html#module-signal). |103| --- | --- |104| [`loop.remove_signal_handler()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.remove_signal_handler) | Удалить обработчик для [`signal`](https://python-all.ru/3.9/library/signal.html#module-signal). |105106Подпроцессы107108| [`loop.subprocess_exec()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.subprocess_exec) | Запустить подпроцесс. |109| --- | --- |110| [`loop.subprocess_shell()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.subprocess_shell) | Запустить подпроцесс из команды оболочки. |111112Обработка ошибок113114| [`loop.call_exception_handler()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.call_exception_handler) | Вызвать обработчик исключений. |115| --- | --- |116| [`loop.set_exception_handler()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.set_exception_handler) | Установить новый обработчик исключений. |117| [`loop.get_exception_handler()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.get_exception_handler) | Получить текущий обработчик исключений. |118| [`loop.default_exception_handler()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.default_exception_handler) | Реализация обработчика исключений по умолчанию. |119120Примеры121122- [Использование asyncio.get\_event\_loop() и loop.run\_forever()](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio-example-lowlevel-helloworld).123- [Использование loop.call\_later()](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio-example-call-later).124- Использование `loop.create_connection()` для реализации [эхо-клиента](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio-example-tcp-echo-client-protocol).125- Использование `loop.create_connection()` для [подключения сокета](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio-example-create-connection).126- [Использование add\_reader() для наблюдения за FD на события чтения](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio-example-watch-fd).127- [Использование loop.add\_signal\_handler()](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio-example-unix-signals).128- [Использование loop.subprocess\_exec()](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio-example-subprocess-proto).129130## Транспорты131132Все транспорты реализуют следующие методы:133134| [`transport.close()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseTransport.close) | Закрывает транспорт. |135| --- | --- |136| [`transport.is_closing()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseTransport.is_closing) | Возвращает `True`, если транспорт закрывается или уже закрыт. |137| [`transport.get_extra_info()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseTransport.get_extra_info) | Запросить информацию о транспорте. |138| [`transport.set_protocol()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseTransport.set_protocol) | Устанавливает новый протокол. |139| [`transport.get_protocol()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseTransport.get_protocol) | Возвращает текущий протокол. |140141Транспорты, которые могут получать данные (TCP- и Unix-соединения, каналы и т.д.). Возвращаются из методов, таких как [`loop.create_connection()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_connection), [`loop.create_unix_connection()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_unix_connection), [`loop.connect_read_pipe()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.connect_read_pipe) и т.д.:142143Транспорты для чтения144145| [`transport.is_reading()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.ReadTransport.is_reading) | Возвращает `True`, если транспорт принимает данные. |146| --- | --- |147| [`transport.pause_reading()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.ReadTransport.pause_reading) | Приостановить приём. |148| [`transport.resume_reading()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.ReadTransport.resume_reading) | Возобновить приём. |149150Транспорты, которые могут отправлять данные (TCP- и Unix-соединения, каналы и т.д.). Возвращаются методами [`loop.create_connection()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_connection), [`loop.create_unix_connection()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_unix_connection), [`loop.connect_write_pipe()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.connect_write_pipe) и т.д.:151152Транспорты записи153154| [`transport.write()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.WriteTransport.write) | Записать данные в транспорт. |155| --- | --- |156| [`transport.writelines()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.WriteTransport.writelines) | Записать буферы в транспорт. |157| [`transport.can_write_eof()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.WriteTransport.can_write_eof) | Возвращает [`True`](https://python-all.ru/3.9/library/constants.html#True), если транспорт поддерживает отправку EOF. |158| [`transport.write_eof()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.WriteTransport.write_eof) | Закрыть и отправить EOF после сброса буферизованных данных. |159| [`transport.abort()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.WriteTransport.abort) | Немедленно закрыть транспорт. |160| [`transport.get_write_buffer_size()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.WriteTransport.get_write_buffer_size) | Возвращает верхнюю и нижнюю отметки для управления потоком записи. |161| [`transport.set_write_buffer_limits()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.WriteTransport.set_write_buffer_limits) | Устанавливает новые верхнюю и нижнюю отметки для управления потоком записи. |162163Транспорты, возвращаемые [`loop.create_datagram_endpoint()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.create_datagram_endpoint):164165Транспорты дейтаграмм166167| [`transport.sendto()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.DatagramTransport.sendto) | Отправить данные удалённому узлу. |168| --- | --- |169| [`transport.abort()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.DatagramTransport.abort) | Немедленно закрыть транспорт. |170171Низкоуровневая абстракция транспорта над подпроцессами. Возвращается [`loop.subprocess_exec()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.subprocess_exec) и [`loop.subprocess_shell()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.loop.subprocess_shell):172173Транспорты подпроцессов174175| [`transport.get_pid()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessTransport.get_pid) | Возвращает идентификатор процесса подпроцесса. |176| --- | --- |177| [`transport.get_pipe_transport()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessTransport.get_pipe_transport) | Возвращает транспорт для запрошенного канала связи (*stdin*, *stdout* или *stderr*). |178| [`transport.get_returncode()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessTransport.get_returncode) | Возвращает код возврата подпроцесса. |179| [`transport.kill()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessTransport.kill) | Завершает подпроцесс. |180| [`transport.send_signal()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessTransport.send_signal) | Отправить сигнал подпроцессу. |181| [`transport.terminate()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessTransport.terminate) | Останавливает подпроцесс. |182| [`transport.close()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessTransport.close) | Завершить подпроцесс и закрыть все каналы. |183184## Протоколы185186Классы протоколов могут реализовывать следующие **методы-колбэки**:187188| `callback` [`connection_made()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseProtocol.connection_made) | Вызывается при установлении соединения. |189| --- | --- |190| `callback` [`connection_lost()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseProtocol.connection_lost) | Вызывается при потере или закрытии соединения. |191| `callback` [`pause_writing()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseProtocol.pause_writing) | Вызывается, когда буфер транспорта превышает верхнюю отметку. |192| `callback` [`resume_writing()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BaseProtocol.resume_writing) | Вызывается, когда буфер транспорта опускается ниже нижней отметки. |193194Потоковые протоколы (TCP, Unix-сокеты, каналы)195196| `callback` [`data_received()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.Protocol.data_received) | Вызывается при получении данных. |197| --- | --- |198| `callback` [`eof_received()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.Protocol.eof_received) | Вызывается при получении EOF. |199200Буферизированные потоковые протоколы201202| `callback` [`get_buffer()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BufferedProtocol.get_buffer) | Вызывается для выделения нового буфера приёма. |203| --- | --- |204| `callback` [`buffer_updated()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BufferedProtocol.buffer_updated) | Вызывается, когда буфер был обновлён полученными данными. |205| `callback` [`eof_received()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.BufferedProtocol.eof_received) | Вызывается при получении EOF. |206207Протоколы дейтаграмм208209| `callback` [`datagram_received()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.DatagramProtocol.datagram_received) | Вызывается при получении дейтаграммы. |210| --- | --- |211| `callback` [`error_received()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.DatagramProtocol.error_received) | Вызывается, когда предыдущая операция отправки или получения вызывает исключение [`OSError`](https://python-all.ru/3.9/library/exceptions.html#OSError). |212213Протоколы подпроцессов214215| `callback` [`pipe_data_received()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessProtocol.pipe_data_received) | Вызывается, когда дочерний процесс записывает данные в свой канал *stdout* или *stderr*. |216| --- | --- |217| `callback` [`pipe_connection_lost()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessProtocol.pipe_connection_lost) | Вызывается, когда один из каналов, используемых для связи с дочерним процессом, закрывается. |218| `callback` [`process_exited()`](https://python-all.ru/3.9/library/asyncio-protocol.html#asyncio.SubprocessProtocol.process_exited) | Вызывается, когда дочерний процесс завершился. |219220## Политики цикла событий221222Политики – это низкоуровневый механизм для изменения поведения функций, таких как [`asyncio.get_event_loop()`](https://python-all.ru/3.9/library/asyncio-eventloop.html#asyncio.get_event_loop). Дополнительные сведения см. также в основном [разделе о политиках](https://python-all.ru/3.9/library/asyncio-policy.html#asyncio-policies).223224Доступ к политикам225226| [`asyncio.get_event_loop_policy()`](https://python-all.ru/3.9/library/asyncio-policy.html#asyncio.get_event_loop_policy) | Возвращает текущую политику для всего процесса. |227| --- | --- |228| [`asyncio.set_event_loop_policy()`](https://python-all.ru/3.9/library/asyncio-policy.html#asyncio.set_event_loop_policy) | Устанавливает новую общепроцессную политику. |229| [`AbstractEventLoopPolicy`](https://python-all.ru/3.9/library/asyncio-policy.html#asyncio.AbstractEventLoopPolicy) | Базовый класс для объектов политики. |230