# Классы и функции, связанные с REPL

```python
 class jishaku.repl.scope.Scope(globals_: Dict[str, Any] | 
 None = None, locals_: Dict[str, Any] | None = None)[source]
```

Класс, представляющий глобальную и локальную область как для проверки, так и для создания области.

Многие функции REPL ожидают или возвращают этот класс.

```python
scope = Scope()  # пустая область видимости

scope = Scope(globals(), locals())  # Область, имитирующая текущую реальную область действия.

scope = Scope({'a': 3})  # Область с уже существующим ключом глобальной области и пустой локальной областью.
```

```python
Clear_intersection ( other_dict : Dict [ str , Any ] )
```

Удаляет локальные и глобальные значения из этой области, где совпадает пара ключ-значение. с другим\_диктом.

Это позволяет очистить временные переменные, которые могли попасть в этот файл. Объем.

* Параметры: **other\_dict** ([`dict`](https://docs.python.org/3/library/stdtypes.html#dict))  – Словарь, который будет использоваться для определения разрешения области. Если ключ из этого словаря соответствует записи в глобальных или локальных переменных этой области, и значение идентично, оно удаляется из области видимости.
* Возвращает: Обновленная область действия (self).
* Тип возврата: [Объем](https://jishaku.readthedocs.io/en/latest/api.html#jishaku.repl.scope.Scope)

```python
update(other: Scope)
```

Updates this scope with the content of another scope.

* Параметры: **other** ([`Scope`](https://jishaku.readthedocs.io/en/latest/api.html#jishaku.repl.scope.Scope)) – Область наложения на эту.
* Возвращает: The updated scope (self).
* Тип возврата: [Scope](https://jishaku.readthedocs.io/en/latest/api.html#jishaku.repl.scope.Scope)

```python
update_globals(other: Dict[str, Any])
```

Обновляет глобальные переменные этой области с помощью dict.

* Параметры: **other** ([`dict`](https://docs.python.org/3/library/stdtypes.html#dict)) - The dictionary to be merged into this scope.
* Возвращает: The updated scope (self).
* Тип возврата: [Объем](https://jishaku.readthedocs.io/en/latest/api.html#jishaku.repl.scope.Scope)

```python
update_locals(other: Dict[str, Any])
```

Обновляет локальные параметры этой области с помощью dict.

* Параметры: **other** ([`dict`](https://docs.python.org/3/library/stdtypes.html#dict)) - словарь, который будет объединен с этой областью.
* Возвращает: The updated scope (self).
* Тип возврата: [Объем](https://jishaku.readthedocs.io/en/latest/api.html#jishaku.repl.scope.Scope)

```python
jishaku.repl.scope.get_parent_scope_from_var(name: str, global_ok: bool = False, skip_frames: int = 0) → Scope | None
```

Выполняет итерацию по стеку кадров в поисках области кадра, содержащей заданное имя переменной.

* Возвращает: Соответствующие [`Scope`](https://jishaku.readthedocs.io/en/latest/api.html#jishaku.repl.scope.Scope) или нет
* Тип возврата: Любой

```python
class jishaku.repl.compilation.AsyncCodeExecutor(code: str, scope: Scope | None = None, arg_dict: Dict[str, Any] | None = None, convertables: Dict[str, str] | None = None, loop: BaseEventLoop | None = None, auto_return: bool = True)
```

Выполняет/оценивает код Python внутри асинхронной функции или генератора.

Пример

```
total = 0

# prints 1, 2 и 3
async for x in AsyncCodeExecutor('yield 1; yield 2; yield 3'):
    total += x
    print(x)

# prints 6
print(total)
```

```python
create_linecache ( )
```

Заполняет кэш строк текущим источником. Может быть выполнено перед печатью обратной трассировки, чтобы отобразить правильные исходные строки.

```python
property function: Callable[[...], Awaitable[Any] | AsyncGenerator[Any, Any]]
```

Объект функции, созданный в результате компиляции кода. Если код еще не скомпилирован, это будет сделано при первом доступе.

```python
async for ... in traverse(func: Callable[[...], Awaitable[Any] | AsyncGenerator[Any, Any]]) → AsyncGenerator[Any, Any]
```

Обходит асинхронную функцию или генератор, получая каждый результат.

Эта функция является частной. Класс следует использовать в качестве итератора вместо использования этого метода.

```python
class jishaku.shell.ShellReader(code: str, timeout: int = 120, loop: AbstractEventLoop | None = None, escape_ansi: bool = True)
```

Класс, который пассивно читает из оболочки и буферизует результаты для чтения.

Пример

```python
# читатель должен быть в операторе with, чтобы убедиться, что он правильно закрыт
with ShellReader('echo one; sleep 5; echo two') as reader:
    # печатает «один», затем «два» через 5 секунд
    async for x in reader:
        print(x)
```

```python
clean_bytes(line: bytes) → str[source]
```

Очищает последовательность байтов директив оболочки и декодирует ее.

```python
property closed: bool
```

Обе задачи выполнены, что означает, что читать больше нечего?

```python
await executor_wrapper(func: ~typing.Callable[[~P], ~jishaku.shell.T], *args: ~typing.~P, **kwargs: ~typing.~P) → T[source]
```

Вызов оболочки для чтения потока.

```python
make_reader_task(stream: IO[bytes], callback: Callable[[bytes], Any])
```

Создайте задачу исполнителя чтения для потока.

```python
make_reader_task(stream: IO[bytes], callback: Callable[[bytes], Any])
```

Создайте задачу исполнителя чтения для потока.

```python
await stderr_handler(line: bytes)
```

Обработчик этого класса для stderr.

```python
await stdout_handler(line: bytes)
```

Обработчик этого класса для стандартного вывода.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mayaais-organization.gitbook.io/dobro-pozhalovat/jishaku-kak-api/klassy-i-funkcii-svyazannye-s-repl.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
