1.1 Основы работы с кодом#
Код в Python является обычным текстом, где каждая строка представляет собой отдельную инструкцию, сообщающую компьютеру, что необходимо сделать. За исполнение этих инструкций отвечает специальная программа - интерпретатор, который преобразует их из человекочитаемого текста в машинный код, понимаемый компьютером. Такое преобразование может происходить в двух режимах: интерактивном, когда интерпретатор принимает на вход и исполняет инструкции построчно, и в режиме «сценария», когда интерпретатор исполняет целый текстовый файл с инструкциями. Далее мы подробнее рассмотрим оба режима преобразования.
Interactive mode, REPL#
Интерактивный режим также называется REPL (read-eval-print loop). Для его активации достаточно написать команду python в командной строке или терминале. В результате успешного запуска в командной строке\терминале отобразится текст примерно следующего содержания:
PS C:\Users\Admin> python
Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Символ >>> обозначает, что теперь мы находимся в интерпретаторе и следующая команда, которая будет написана, преобразуется в машинный код и будет выполнена, а мы увидим результат её выполнения. Например, вывод на печать избитой фразы «Hello, world!»:
>>> print("Hello, world!")
Hello, world!
Аналогичным образом можно производить различные математические вычисления:
>>> (8 + 4) * 6 - 30
42
Для выхода из интерактивного режима интерпретатора надо выполнить инструкцию exit() или нажать ctrl + z, а затем enter.
Script mode#
Интерактивный режим может оказаться очень полезным для выполнения быстрых вычислений или решения простых разовых задач, а также быстрого тестирования кода, особенно в рамках изучения языка, когда надо проверить, как работает та или иная функция. Для более глобальных и сложных задач, повторяющихся периодически, больше подойдет режим «сценария». Так, можно один раз написать сценарий - последовательность инструкций, что нужно сделать для решения задачи, сохранить его как python файл (файл с расширением .py) и исполнять целиком при необходимости, не печатая отдельные команды в интерактивном режиме интерпретатора.
Для этого в командной строке необходимо написать не просто команду python, а еще и дополнительно указать путь к файлу, который необходимо исполнить. Например, создадим текстовый файл example.py в той же директории (папке), где по умолчанию открывается командная строка, и запишем в него инструкцию «print(«Hello, world!»)».
# Пример содержания файла example.py:
print("Hello, world!")
А далее выполним файл example.py:
C:\Users\Admin>python example.py
Hello, world!
Аналогичным образом можно самостоятельно указать путь до любого файла, который нам нужно исполнить. Однако каждый раз выбирать через командную строку, какой файл нужно исполнить, - далеко не самый удобный способ запускать код. Большинство редакторов кода или сред разработки также умеют обращаться к интерпретатору и передавать ему файлы или отдельные строчки на исполнение. Так, для Python наиболее часто используются редактор кода VS Code или среда разработки PyCharm. Как правило, среды разработки обладают большим функционалом, но с учетом устанавливаемых расширений разница между VS Code и PyCharm в плане функционала практически стирается. Основное, что стоит выделить для начинающих - в обоих программах есть горячие клавиши для исполнения активного\редактируемого файла, а также можно нажать правой кнопкой мыши по полю для редактирования и выбрать команду Run, что позволит избежать прямого взаимодействия с командной строкой на начальных этапах.
Python Notebooks#
Помимо классических python файлов, содержащих код, ещё существует формат notebook. Python Notebook - совмещает в себе блоки форматированного текста и блоки кода, которые могут исполняться в интерактивном режиме. В данном курсе все материалы будут представлены именно в формате Python Notebook’ов. Для их запуска понадобится отдельная среда, которая будет взаимодействовать с нашим интерпретатором. Так, при работе на своем компьютере в VS Code нам будет автоматически предложено установить расширение Jupyter для взаимодействия с Notebook’ами. А при работе онлайн из браузера Notebook’и можно будет выполнять в среде Google Colab.
Основное преимущество использования Notebook’ов - это их визуальная составляющая. Так мы можем писать код, оставлять к нему развернутое описание, добавлять графики и иллюстрации, сохранять результаты выполнения. Такой формат идеально подходит для использования в качестве учебных материалов, презентационных материалов и различных отчетов, которыми легко поделиться с другими людьми.