The Python Programming Guide

Знакомство с Python

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

Если вы следовали рекомендациям и сделали все правильно, т.е. не меняли стандартные пути при установке, то интерпретатор будет располагаться по следующим путям (в зависимости от системы):

Подсказка

Под [DRIVE], [USERNAME], [VERSION] подразумевается буква вашего диска, имя пользователя и текущая версия Python соответственно.

Если данный путь добавлен в переменную окружения системы PATH, то вы сможете без указания абсолютного пути до интерпретатора использовать команду python.

Заметка

Переменная окружения PATH является списком путей до различных папок/директорий, которая обычно используется системой для поиска исполняемых файлов. Если путь не добавлен в PATH, то вам каждый раз придётся указывать абсолютный путь до исполняемого файла.

REPL

REPL (Read Eval Print Loop) - это интерактивная оболочка. Как уже понятно из расшифровки аббревиатуры, вы вводите набор инструкций интерпретатору, он их исполняет и выводит результат, если его можно вывести. Все это представляет собой цикл и вы можете повторять данную процедуру бесконечно.

Запустим REPL введя в командном окне/терминале (в дальнейшем терминал для указания любого рода системных оболочек):

python

Нас сразу встретят парой сообщений о версии текущего Python и т.д., а также подсказкой о функциях, которые можно использовать для получения дополнительной информации. По классике программирования, поприветствуем мир введя следующую команду:

>>> print("Hello World!")
Hello World!

Даже такой простой пример можно уже разобрать. В данной инструкции мы вызвали объект, который представляет из себя функцию, с аргументом "Hello World!", имеющего тип - строка. Сам вызов функции сопровождается круглыми скобками, а внутри них аргумент. Вызванная функция передает результат в стандартный вывод, который мы наблюдаем в терминале.

Предупреждение

В Python все имена переменных, функций, классов и т.д. являются регистрозависимыми. К примеру, функции print и Print будут являться абсолютно разными функциями и при попытке использовать вторую будет вызвана ошибка (с учётом, что Print не была определена ранее).

В REPL можно также получить документацию почти по любому объекту, что является крайне удобным функционалом:

>>> help(print)
...

Если справка окажется длинной, она откроется в специальном псевдо окне в терминале, которое можно закрыть с помощью клавиши q (значит quit).

Выйти из интерактивной оболочки можно вызвав функцию:

>>> exit()

Скриптовый подход

Скрипт - набор инструкций, оформленный в виде файла. Файлы с программами/скриптами на Python создаются в виде обычных текстовых файлов с расширением .py. Создайте файл helloworld.py и напишите в нём следующие строчки:

name = input("Input name: ")
print("Hello, ", name)

В данном примере мы уже здороваемся посредством Python с кем-нибудь. Функция input отправляет в стандартный вывод текст, который просит нас ввести имя, и ждёт ввода пользователя. Далее подтвержденный ввод в виде строки присваивается переменной name. В итоге функция print соединяет две строки, приветствие и имя, и выводит в терминал.

Исполнить данный скрипт можно передав файл интерпретатору, где аргументом служит путь до файла helloworld.py:

python helloworld.py

Стандартный вывод:

Input name: Vlad
Hello, Vlad

Заметка

Стандартные потоки ввода-вывода в системах - потоки процесса, имеющие дескриптор, зарезервированный для выполнения некоторых стандартных функций. Например:

  • стандартный ввод (stdin) - зарезервирован для чтения команд пользователя или входных данных.
  • стандартный вывод (stdout) - зарезервирован для вывода данных.
  • стандартный вывод ошибок (stderr) - зарезервирован для вывода диагностических и отладочных сообщений в текстовом виде.