Консоль Pycharm Python: что такое «Политика загрузки переменных»?

#python #variables #pycharm

#python #переменные #pycharm

Вопрос:

Какова политика загрузки переменных в Pycharm Python Console И ПОЧЕМУ я хочу ее использовать? Я просмотрел документ здесь: Политика загрузки переменных Pycharm

и я все еще так же запутан, как и всегда. В каком контексте находится «Политика загрузки переменных»? Политика для чего? Какие переменные?? Неясно, что значит «загрузить переменную». Да, я знаю разницу между синхронизацией / асинхронностью. Но переменные в скрипте, который запускает консоль, «загружаются» независимо от «политики». Почему меня волнует, как они загружаются?

введите описание изображения здесь

Комментарии:

1. Я думаю, что переменные, которые это означает, — это те, на которые вы можете навести курсор мыши или просмотреть в локальных или контрольных списках. И что касается синхронного, асинхронного или по требованию, это имеет смысл — синхронный загружает их по порядку, асинхронный выполняет все сразу, а по требованию просто загружает их при попытке просмотреть значение. Имеет ли это смысл?

2. @RandomDavis: Нет. Даже не ясно, что значит загружать переменную, и «по порядку» против «все сразу» не похоже на то, что описывает страница.

3. Под загрузкой я подразумеваю чтение значения из этой переменной для отображения в отладчике. Кроме того, знаете ли вы об определениях асинхронного и синхронного? Я уходил от определений этих слов. Но, взглянув на страницу, для меня очевидно, что это то, что они имеют в виду.

4. @RandomDavis: судя по моему прочтению страницы, это больше похоже на то, что асинхронный режим отображает каждое значение, когда оно готово, а синхронный режим ожидает, пока все значения не будут готовы для их отображения. Что касается чтения значений, простое чтение значения переменной практически бесплатно. Я бы предположил , что на самом деле они означают некоторую комбинацию repr вычислений и анализа, зависящего от типа (на одном из скриншотов показано «… Просмотр как запрос DataFrame» для dataframe), но это действительно непонятно.

5. RandomDavis, спасибо за ваш ответ, но: я согласен с пользователем 2357112. Неясно, что значит «загрузить переменную». Да, я знаю разницу между синхронизацией / асинхронностью. Но переменные в скрипте, который запускает консоль, «загружаются» независимо от «политики». Почему меня волнует, как они загружаются?

Ответ №1:

Консоль имеет представление переменных, в котором отображаются пары переменных / значений. Представьте, что класс реализует __str__ и метод либо занимает довольно много времени, либо даже вызывает исключение. Если PyCharm попытается загрузить строковое представление экземпляра в этом случае, вы либо застряли во время его вычисления, либо получите сообщение об ошибке. Вот почему была введена эта опция.

Например. переключение на политику загрузки переменных «По требованию» с запретом PyCharm на автоматическую загрузку значений переменных

введите описание изображения здесь

Ответ №2:

Из службы поддержки Pycharm:

Когда вы отлаживаете свой код в PyCharm, вы можете предварительно просмотреть значения переменных.

«Проверить / обновить переменные»

Политики загрузки определяют способ загрузки этих переменных в процессе отладки. По умолчанию переменные загружаются асинхронно. Однако в некоторых случаях вам не нужно ждать сбора больших данных, тогда вы можете выбрать опцию «По требованию».

-A.R. веб-справка PyCharm