Интерактивный режим Python (REPL)
У разработчиков на Python есть возможность использовать его в интерактивном режиме. Введенные с клавиатуры операторы сразу же выполняются и результат выводится на экран (в консоль). Такой режим интерпретатора называется REPL (read-eval-print loop). Работает он следующим образом:
read
считывает одно выражение и преобразует его в соответствующую структуру данных;eval
принимает одну такую структуру и вычисляет соответствующее выражение;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 в интерактивном режиме.
Примеры работы в 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 случайных чисел, после чего сортируются по возрастанию.
Рассмотрим пример по шагам:
- строка
from random import randint
импортирует функцию randint; - далее вызывается функция
help(randint)
отображающая информацию по функцииrandint
; - инициализируется список
numbers
; - далее следует цикл от 0 до 9 (После того как вы набрали в консоли
for i in range(10):
инструкция не выполняется, так как интерактивный режим понимает, что инструкция подразумевает вторую строку с телом цикла. Вместо этого, после того как вы нажалиenter
курсор переместится на вторую строку); - в теле цикла генерируем случайные числа и записываем их в список
numbers
; - далее функцией
print
на экран выводится наш сгенерированный список чисел; - метод
sort
сортирует массив по возрастанию; - последним шагом выводим отсортированный список (в интерактивном режиме можно вместо
print(numbers)
писать простоnumbers
).
Выход из интерактивного режима
Выйти и REPL режима можно комбинациями:
CTRL-Z
+enter
— для Windows;CTRL-Z
илиCTRL-D
— для Linux и MacOS;exit()
+enter
.