Интерактивный режим Python
Интерактивный режим Python

Интерактивный режим Python

У разработчиков на Python есть возможность использовать его в интерактивном режиме. Введенные с клавиатуры операторы сразу же выполняются и результат выводится на экран (в консоль). Такой режим интерпретатора называется REPL (read-eval-print loop). Работает он следующим образом:

  1. read считывает одно выражение и преобразует его в соответствующую структуру данных;
  2. eval принимает одну такую структуру и вычисляет соответствующее выражение;
  3. print принимает результат и печатает его на экран (в консоль).

Грубо говоря, в этом режиме вам не нужно создавать файлы с python-кодом. Все что вы напишете в интерактивном режиме будет сразу же выполнено построчно.

Интерактивный режим используется редко, но удобен в ряде случаев:

  • при изучении языка;
  • для быстрого тестирования отдельных фрагментов кода;
  • для быстрого запуска простых команд (например для запуска нескольких bash скриптов в цикле через Python);
  • для использования интерпретатора в качестве продвинутого калькулятора;

Как запустить интерактивный режим

После того как вы установили Python, достаточно зайти в терминал и выполнить команду python

python Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 22:39:24) ... Type "help", "copyright", "credits" or "license" for more information. >>>

Вы вошли в интерактивный режим 🎉

Второй вариант – использовать среду разработки IDLE. После запуска IDLE появится окно оболочки Python (Python Shell), в котором можно работать с Python в интерактивном режиме.

Интерактивный режим в Python IDLE
Интерактивный режим в Python IDLE
Интерактивный режим в Python IDLE

Примеры работы в REPL режиме

После того как вы зашли в интерактивный режим, вы можете писать команды на языке python после символа >>>

Например, выведем на экран "hello world":

>>> print("Hello, world!") Hello, world!

Рассмотрим пример посложнее:

>>> from random import randint >>> help(randint) Help on method randint in module random: randint(a, b) method of random.Random instance Return random integer in range [a, b], including both end points. >>> numbers = [] >>> for i in range(10): ... numbers.append(randint(1, 99)) ... >>> print(numbers) [83, 38, 63, 25, 7, 88, 48, 79, 6, 17] >>> numbers.sort() >>> numbers [6, 7, 17, 25, 38, 48, 63, 79, 83, 88] >>>

В данном примере генерируется 10 случайных чисел, после чего сортируются по возрастанию. Рассмотрим пример по шагам:

  1. строка from random import randint импортирует функцию randint;
  2. далее вызывается функция help(randint) отображающая информацию по функции randint
  3. инициализируется список numbers
  4. далее следует цикл от 0 до 9. После того, как вы набрали в консоли for i in range(10): инструкция не выполняется, так как интерактивный режим понимает, что инструкция подразумевает вторую строку с телом цикла. Вместо этого, после того как вы нажали enter курсор переместится на вторую строку.
  5. в теле цикла генерируем случайные числа и записываем их в список numbers
  6. далее функцией print на экран выводится наш сгенерированный список чисел;
  7. метод sort сортирует массив по возрастанию;
  8. последним шагом выводим отсортированный список. В интерактивном режиме можно вместо print(numbers) писать просто numbers

Выход из интерактивного режима

Выйти и REPL режима можно комбинациями:

  • CTRL-Z + enter - для Windows;
  • CTRL-Z или CTRL-D - для Linux и MacOS;
  • exit() + enter
😭
😕
😃
😍