Взаимодействие с Python

Оглавление

На данный момент у вас должен быть под рукой рабочий интерпретатор Python 3. Если вам нужна помощь в правильной настройке Python, обратитесь к предыдущему разделу этой серии уроков.

Вот что вы узнаете из этого руководства: Теперь, когда у вас есть рабочая установка Python, вы увидите, как на самом деле выполнять код Python и запускать программы Python. К концу этой статьи вы будете знать, как:

  • Используйте Python в интерактивном режиме, вводя код непосредственно в интерпретатор
  • Выполнение кода, содержащегося в файле сценария, из командной строки
  • Работа в интегрированной среде разработки (IDE) Python

Пришло время написать немного кода на Python!

Привет, мир!

В области компьютерного программирования существует давний обычай, согласно которому первым кодом, написанным на только что установленном языке, является короткая программа, которая просто выводит строку Hello, World! на консоль.

Примечание: Это проверенная временем традиция, восходящая к 1970-м годам. Краткую историю смотрите в "Привет, мир!". Вы серьезно рискуете расстроить ци Вселенной, если не будете соблюдать этот обычай.

Простейший код Python 3 для отображения Hello, World! выглядит так:

print("Hello, World!")

Ниже вы рассмотрите несколько различных способов выполнения этого кода.

Использование интерпретатора Python в интерактивном режиме

Самый простой способ начать общение с Python - это интерактивная среда Read-Eval-Print Loop (REPL). Это просто означает запуск интерпретатора и прямой ввод команд в него. Интерпретатор:

  • R читает введенную вами команду
  • E оценивает и выполняет команду
  • P выводит вывод (если таковой имеется) на консоль
  • L возвращается назад и повторяет процесс

Сессия продолжается таким образом до тех пор, пока вы не дадите интерпретатору команду на завершение. Большинство примеров кода в этой серии уроков представлено в виде взаимодействия с REPL.

Запуск интерпретатора

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

Например, в Windows в меню Пуск, скорее всего, будет группа программ Python 3.x, а под ней пункт меню Python 3.x (32-bit), или что-то подобное в зависимости от конкретной установки, которую вы выбрали.

При нажатии на этот элемент запускается интерпретатор Python:

Python Interpreter window Интерпретатор Python (REPL), работающий в окне терминала.

В качестве альтернативы можно открыть окно терминала и запустить интерпретатор из командной строки. Способ открытия окна терминала зависит от того, какую операционную систему вы используете:

  • В Windows он называется Command Prompt.
  • В macOS или Linux она должна называться Terminal.

Используя функцию поиска вашей операционной системы, найдите "command" в Windows или "terminal" в macOS или Linux.

После открытия окна терминала, если пути были правильно настроены в процессе установки Python, вы должны быть в состоянии просто набрать python. Затем вы должны увидеть ответ от интерпретатора Python.

Это пример из окна командной строки Windows:

Командная строка Windows

C:\Users\john>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Техническое примечание: Если вы работаете в системе Linux и установили Python 3, может оказаться, что установлены и Python 2, и Python 3. В таком случае, возможно, что ввод python в приглашении запустит Python 2. Для запуска Python 3 может потребоваться набрать что-то еще, например python3.

Если вы установили более свежую версию Python 3, чем та, которая входит в дистрибутив, вам может потребоваться указать версию, которую вы установили, например python3.6.

Если вы не видите подсказки >>>, значит, вы не разговариваете с интерпретатором Python. Это может быть связано с тем, что Python либо не установлен, либо отсутствует в пути вашей сессии окна терминала. Также возможно, что вы просто не нашли правильную команду для его выполнения. Вы можете обратиться за помощью к нашему руководству по установке Python.

Выполнение кода Python

Если вы видите подсказку, значит, вы приступили к работе! Следующим шагом будет выполнение оператора, который выведет Hello, World! на консоль:

  1. Убедитесь, что на экране отображается приглашение >>>, а курсор расположен после него.
  2. Введите команду print("Hello, World!") точно так, как показано на рисунке.
  3. Нажмите клавишу Enter.

Ответ интерпретатора должен появиться в следующей строке. Вы можете сказать, что это консольный вывод, потому что подсказка >>> отсутствует:

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

Если ваша сессия выглядит так, как показано выше, значит, вы выполнили свой первый код на Python! Найдите время отпраздновать это событие.

Что-то пошло не так? Возможно, вы совершили одну из этих ошибок:

  • Вы забыли заключить выводимую строку в кавычки:

    >>> print(Hello, World!)
      File "<stdin>", line 1
        print(Hello, World!)
                          ^
    SyntaxError: invalid syntax
    
  • Вы запомнили открывающую кавычку, но забыли закрывающую:

    >>> print("Hello, World!)
      File "<stdin>", line 1
        print("Hello, World!)
                            ^
    SyntaxError: EOL while scanning string literal
    
  • Вы использовали разные открывающие и закрывающие кавычки:

    >>> print("Hello, World!')
      File "<stdin>", line 1
        print("Hello, World!')
                             ^
    SyntaxError: EOL while scanning string literal
    
  • Вы забыли скобки:

    >>> print "Hello, World!"
      File "<stdin>", line 1
        print "Hello, World!"
                            ^
    SyntaxError: Missing parentheses in call to 'print'
    
  • Вы ввели лишние пробельные символы перед командой:

    >>>     print("Hello, World!")
      File "<stdin>", line 1
        print("Hello, World!")
        ^
    IndentationError: unexpected indent
    

(в одном из следующих разделов вы увидите, почему это важно)

Если вы получили какое-то сообщение об ошибке, вернитесь назад и проверьте, что вы ввели команду именно так, как показано выше.

Выход из интерпретатора

Когда вы закончили взаимодействие с интерпретатором, вы можете выйти из сеанса REPL несколькими способами:

  • Type exit() and press Enter:

    >>> exit()
    
    C:\Users\john>
    
  • In Windows, type Ctrl+Z and press Enter:

    >>> ^Z
    C:\Users\john>
    
  • In Linux or macOS, type Ctrl+D. The interpreter terminates immediately; pressing Enter is not needed.

  • If all else fails, you can simply close the interpreter window. This isn’t the best way, but it will get the job done.

Запуск сценария Python из командной строки

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

Однако со временем, по мере создания более сложных приложений, вы будете создавать более длинные фрагменты кода, которые вам захочется редактировать и запускать многократно. Вы явно не хотите каждый раз заново вводить код в интерпретатор! В этом случае вам понадобится создать файл сценария.

Сценарий Python - это многократно используемый набор кода. По сути, это программа на Python - последовательность инструкций Python, содержащаяся в файле. Вы можете запустить программу, указав интерпретатору имя файла скрипта.

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

  • Windows: Блокнот
  • Unix/Linux: vi или vim
  • macOS: TextEdit

Используя любой выбранный вами редактор, создайте файл сценария под названием hello.py, содержащий следующее:

print("Hello, World!")

Теперь сохраните файл, следя за тем, в какую директорию или папку вы решили его сохранить.

Запустите командную строку или окно терминала. Если текущий рабочий каталог совпадает с местом сохранения файла, можно просто указать имя файла в качестве аргумента командной строки для интерпретатора Python: python hello.py

Например, в Windows это будет выглядеть так:

Командная строка Windows

C:\Users\john\Documents\test>dir
 Volume in drive C is JFS
 Volume Serial Number is 1431-F891

 Directory of C:\Users\john\Documents\test

05/20/2018  01:31 PM    <DIR>          .
05/20/2018  01:31 PM    <DIR>          ..
05/20/2018  01:31 PM                24 hello.py
               1 File(s)             24 bytes
               2 Dir(s)  92,557,885,440 bytes free

C:\Users\john\Documents\test>python hello.py
Hello, World!

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

Командная строка Windows

C:\>cd
C:\

C:\>python c:\Users\john\Documents\test\hello.py
Hello, World!

В Linux или macOS ваша сессия может выглядеть примерно так:

jfs@jfs-xps:~$ pwd
/home/jfs

jfs@jfs-xps:~$ ls
hello.py

jfs@jfs-xps:~$ python hello.py
Hello, World!

Файл сценария не обязан иметь расширение .py. Интерпретатор Python запустит файл независимо от того, как он называется, если вы правильно укажете имя файла в командной строке:

jfs@jfs-xps:~$ ls
hello.foo

jfs@jfs-xps:~$ cat hello.foo
print("Hello, World!")

jfs@jfs-xps:~$ python hello.foo
Hello, World!

Но присвоение файлам Python расширения .py является полезным соглашением, поскольку оно позволяет легче их идентифицировать. В средах Windows и macOS, ориентированных на папки/иконки рабочего стола, это также обычно позволяет установить соответствующую ассоциацию файлов, чтобы вы могли запустить скрипт, просто щелкнув по его иконке.

Взаимодействие с Python через IDE

Интегрированная среда разработки (IDE) - это приложение, которое более или менее сочетает в себе все те функции, которые вы видели до сих пор. IDE обычно предоставляет возможности REPL, а также редактор, с помощью которого вы можете создавать и изменять код, чтобы затем передать его интерпретатору для выполнения.

Вы также можете найти такие интересные функции, как:

  • Подсветка синтаксиса: IDE часто выделяют цветом различные элементы синтаксиса в коде, чтобы облегчить его чтение.
  • Контекстно-зависимая справка: Продвинутые IDE могут отображать сопутствующую информацию из документации по Python или даже предлагать исправления для распространенных типов ошибок в коде.
  • Завершение кода: Некоторые IDE могут завершать частично набранные части кода (например, имена функций) за вас - отличная возможность сэкономить время и удобство.
  • Отладка: Отладчик позволяет выполнять код шаг за шагом и проверять данные программы по ходу выполнения. Это неоценимо, когда вы пытаетесь определить причину неправильного поведения программы, что неизбежно происходит.

IDLE

Большинство инсталляций Python содержат рудиментарную IDE под названием IDLE. Название расшифровывается как Integrated Development and Learning Environment, но одного из членов труппы Monty Python зовут Eric Idle, что вряд ли похоже на совпадение.

Процедура запуска IDLE варьируется от одной операционной системы к другой.

Запуск IDLE в Windows

Войдите в меню Пуск и выберите Все программы или Все приложения. Там должен быть значок программы с надписью IDLE (Python 3.x 32-bit) или что-то подобное. В разных версиях Win 7, 8 и 10 это может немного отличаться. Значок IDLE может находиться в папке группы программ с именем Python 3.x. Вы также можете найти значок программы IDLE, воспользовавшись функцией поиска Windows в меню "Пуск" и набрав IDLE.

Нажмите на значок, чтобы запустить IDLE.

Запуск IDLE в macOS

Открыть поиск в Spotlight. Typing Cmd+Space is one of several ways to do this. In the search box, type terminal and press Enter.

В окне терминала введите idle3 и нажмите Enter.

Запуск IDLE в Linux

IDLE доступен в дистрибутиве Python 3, но может быть не установлен по умолчанию. To find out whether it is, open a terminal window. This varies depending on the Linux distribution, but you should be able to find it by using the desktop search function and searching for terminal. In the terminal window, type idle3 and press Enter.

Если вы получаете ошибку, говорящую command not found или что-то в этом роде, то IDLE, очевидно, не установлена, поэтому вам нужно установить ее.

Метод установки приложений также различается в зависимости от дистрибутива Linux. Например, в Ubuntu Linux команда для установки IDLE - sudo apt-get install idle3. Во многих дистрибутивах Linux есть менеджеры приложений с графическим интерфейсом, которые вы также можете использовать для установки приложений.

Для установки IDLE следуйте процедуре, соответствующей вашему дистрибутиву. Затем введите idle3 в окне терминала и нажмите Enter, чтобы запустить ее. Возможно, ваша процедура установки также установит значок программы на рабочем столе для запуска IDLE.

Фух!

Использование IDLE

После установки IDLE и ее успешного запуска вы должны увидеть окно с заголовком Python 3.x.x Shell, где 3.x.x соответствует вашей версии Python:

IDLE screenshot 1

Подсказка >>> должна выглядеть знакомо. Вы можете вводить команды REPL в интерактивном режиме, как при запуске интерпретатора из консольного окна. Помня о ци вселенной, выведите Hello, World! еще раз:

IDLE screenshot 2

Интерпретатор ведет себя примерно так же, как если бы вы запускали его непосредственно из консоли. Интерфейс IDLE добавляет возможность отображать различные синтаксические элементы разными цветами, чтобы все было более читабельно.

В нем также предусмотрена контекстно-зависимая помощь. Например, если набрать print( без ввода аргументов функции print или закрывающей скобки, то появится пролетающий текст, содержащий информацию об использовании функции print().

Еще одна возможность, которую предоставляет IDLE, - это вызов утверждений:

  • If you have typed in several statements, you can recall them with Alt+P and Alt+N in Windows or Linux.
  • Alt+P cycles backward through previously executed statements; Alt+N cycles forward.
  • Once a statement has been recalled, you can use editing keys on the keyboard to edit it and then execute it again. The corresponding commands in macOS are Cmd+P and Cmd+N.

Вы также можете создавать файлы сценариев и запускать их в IDLE. В меню окна Shell выберите File → New File. Откроется дополнительное окно редактирования. Введите код, который будет выполняться:

IDLE screenshot 3

В меню этого окна выберите File → Save или File → Save As... и сохраните файл на диске. Затем выберите Run → Run Module. В окне интерпретатора Shell должен появиться вывод:

IDLE screenshot 4

ОК, пожалуй, этого достаточно Hello, World!. Ци вселенной должна быть в безопасности.

После того как оба окна открыты, вы можете переключаться туда-сюда, редактируя код в одном окне, запуская его и выводя на экран в другом. Таким образом, IDLE предоставляет рудиментарную платформу для разработки на Python.

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

Thonny

Thonny - бесплатная IDE для Python, разработанная и поддерживаемая Институтом компьютерных наук при Тартуском университете, Эстония. Она ориентирована специально на начинающих пользователей Python, поэтому ее интерфейс прост и незагроможден, а также легко понять и быстро освоиться.

Как и IDLE, Thonny поддерживает взаимодействие с REPL, а также редактирование и выполнение файлов сценариев:

Python Thonny REPL Python Thonny editor

Thonny выполняет подсветку синтаксиса и завершение кода, а также предоставляет пошаговый отладчик. Одна из особенностей, которая особенно полезна для тех, кто изучает Python, заключается в том, что отладчик отображает значения в выражениях по мере их оценки во время пошагового выполнения кода:

Thonny expr evaluation

Thonny особенно прост в освоении, поскольку поставляется со встроенным Python 3.6. Так что вам нужно всего лишь установить его, и вы готовы к работе!

Версии доступны для Windows, macOS и Linux. На сайте Thonny есть инструкции по загрузке и установке.

IDLE и Thonny - это, конечно, не единственные игры. Существует множество других IDE для редактирования и разработки кода на Python. Дополнительные предложения см. в нашем руководстве Python IDEs and Code Editors Guide.

Онлайн-сайты Python REPL

Как вы видели в предыдущем разделе, существуют веб-сайты, которые могут предоставить вам интерактивный доступ к интерпретатору Python в режиме онлайн без необходимости устанавливать что-либо локально.

Такой подход может оказаться неудовлетворительным для некоторых более сложных или длинных примеров в этом учебнике. Но для простых сессий REPL он должен работать хорошо.

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

Python Software Foundation Interactive Shell icon Python Software Foundation Interactive Shell icon

Или перейдите непосредственно по адресу https://www.python.org/shell.

У вас должна появиться страница с окном, которое выглядит примерно так:

Python Software Foundation Interactive Shell window

Знакомая подсказка >>> показывает, что вы разговариваете с интерпретатором Python.

Вот несколько других сайтов, предоставляющих Python REPL:

Заключение

Большие приложения обычно содержатся в файлах сценариев, которые передаются интерпретатору Python для выполнения.

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

Примеры, приведенные в этом руководстве, были созданы при непосредственном взаимодействии с интерпретатором Python, но если вы решите использовать IDLE или другую доступную IDE, примеры все равно должны работать.

Переходите к следующему разделу, в котором вы начнете изучать элементы самого языка Python.

Вернуться на верх