{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Введение\n", "\n", " \n", "**С.В. Лемешевский** (email: `sergey.lemeshevsky@gmail.com`), Институт математики НАН Беларуси\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "# Установка\n", "
\n", "\n", "## Версии Python\n", "
\n", "\n", "На сегодняшний день существуют две версии Python — это Python 2\n", "и Python 3, у них отсутствует полная совместимость друг с другом. На\n", "данный момент вторая версия Python ещё широко используется,\n", "но, судя по изменениям, которые происходят, со временем, она останется\n", "только для запуска старого кода. Мы будем Python 3, и, в дальнейшем,\n", "если где-то будет встречаться слово Python, то под ним следует\n", "понимать Python 3. Случаи применения Python 2 будут специально\n", "оговариваться.\n", "\n", "## Установка Python\n", "
\n", "\n", "Для установки интерпретатора Python на ваш компьютер, первое, что\n", "нужно сделать — это скачать дистрибутив. Загрузить его можно с\n", "официального сайта, перейдя по ссылке \n", "\n", "\n", "\n", "![](fig-intro/python_downloads.png)\n", "\n", "\n", "\n", "### Установка Python в Windows\n", "\n", "
\n", "\n", "Для операционной системы Windows дистрибутив распространяется либо в виде\n", "исполняемого файл, либо в виде архивного файла.\n", "\n", "\n", "\n", "![](fig-intro/python_dwl_list_files.png)\n", "\n", "\n", "**Порядок установки.**\n", "\n", "1. Запустите скачанный установочный файл.\n", "\n", "2. Выберете способ установки.\n", "\n", "\n", "\n", "![](fig-intro/python_inst_1.png)\n", "\n", "\n", "В данном окне предлагается два варианта *Install Now* и *Customize installation*. При\n", "выборе *Install Now*, Python установится в папку по указанному пути. Помимо самого\n", "интерпретатора будет установлен `IDLE` (интегрированная среда разработки), `pip`\n", "(пакетный менеджер) и документация, а также будут созданы соответствующие ярлыки\n", "и установлены связи файлов, имеющие расширение `.py` с интерпретатором Python.\n", "*Customize installation* – это вариант настраиваемой установки. Опция *Add python 3.* to\n", "`PATH` нужна для того, чтобы появилась возможность запускать интерпретатор без\n", "указания полного пути до исполняемого файла при работе в командной строке.\n", "\n", "1. Отметьте необходимые опций установки (доступно при выборе *Customize installation*)\n", "\n", "\n", "\n", "![](fig-intro/python_inst_2.png)\n", "\n", "\n", "На этом шаге нам предлагается отметить дополнения, устанавливаемые вместе с\n", "интерпретатором Python . Рекомендуем выбрать все опции:\n", "\n", "* `Documentation` – установка документаций.\n", "\n", "* `pip` – установка пакетного менеджера pip.\n", "\n", "* `tcl/tk` and `IDLE` – установка интегрированной среды разработки (`IDLE`) и библиотеки для построения графического интерфейса (`tkinter`).\n", "\n", "2. Выберете место установки (доступно при выборе Customize installation )\n", "\n", "\n", "\n", "![](fig-intro/python_inst_3.png)\n", "\n", "\n", "Помимо указания пути, данное окно позволяет внести дополнительные\n", "изменения в процесс установки с помощью опций:\n", "\n", "* `Install for all users` – Установить для всех пользователей. Если не выбрать данную опцию, то будет предложен вариант инсталляции в папку пользователя, устанавливающего интерпретатор.\n", "\n", "* `Associate files with Python` – Связать файлы, имеющие расширение `.py`, с Python. При выборе данной опции будут внесены изменения в Windows , позволяющие запускать Python скрипты по двойному щелчку мыши.\n", "\n", "* `Create shortcuts for installed applications` – Создать ярлыки для запуска приложений.\n", "\n", "* `Add Python to environment variables` – Добавить пути до интерпретатора Python в переменную `PATH`.\n", "\n", "* `Precomple standard library` – Провести прекомпиляцию стандартной библиотеки.\n", "\n", "Последние два пункта (`Download debugging symbols`, `Download debug\n", "binaries`) связаны с загрузкой компонентов для отладки, их мы устанавливать не будем.\n", "\n", "\n", "1. После успешной установки вас ждет следующее сообщение.\n", "\n", "\n", "\n", "![](fig-intro/python_inst_4.png)\n", "\n", "\n", "### Установка Python в Linux\n", "\n", "
\n", "\n", "Чаще всего интерпретатор Python уже в входит в состав дистрибутива. Это можно\n", "проверить набрав в терминале" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> python\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "или" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> python3\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "В первом случае, вы запустите Python 2 во втором – Python 3. В будущем, скорее\n", "всего, во всех дистрибутивах Linux, включающих Python, будет входить только третья\n", "версия. Если у вас, при попытке запустить Python, выдается сообщение о том, что он\n", "не установлен, или установлен, но не тот, что вы хотите, то у вас есть два пути: а)\n", "собрать Python из исходников; б) взять из репозитория.\n", "\n", "Например, для установки из репозитория в Ubuntu воспользуйтесь командой:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> sudo apt-get install python3\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Установка Anaconda\n", "
\n", "\n", "Для удобства запуска примеров и изучения языка Python , советуем установить на\n", "свой ПК пакет Anaconda . Этот пакет включает в себя интерпретатор языка Python (есть\n", "версии 2 и 3), набор наиболее часто используемых библиотек и удобную среду\n", "разработки и исполнения, запускаемую в браузере.\n", "\n", "Для установки этого пакета, предварительно нужно скачать дистрибутив\n", ".\n", "\n", "Есть варианты под Windows , Linux и Mac OS .\n", "\n", "### Установка Anaconda в Windows\n", "\n", "
\n", "\n", "1. Запустите скачанный инсталлятор. В первом появившемся окне необходимо\n", "нажать «Next».\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_1.png)\n", "\n", "\n", "2. Далее следует принять лицензионное соглашение.\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_2.png)\n", "\n", "\n", "\n", "3. Выберете одну из опций установки:\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_3.png)\n", "\n", "\n", "* `Just Me` – только для пользователя, запустившего установку;\n", "\n", "* `All Users – для всех пользователей.`\n", "\n", "4. Укажите путь, по которому будет установлена Anaconda.\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_4.png)\n", "\n", "\n", "5. Укажите дополнительные опции:\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_5.png)\n", "\n", "\n", "* `Add Anaconda to the system PATH environment variable` – добавить Anaconda в системную переменную `PATH`;\n", "\n", "* `Register Anaconda as the system Python 3` – использовать Anaconda, как интерпретатор Python 3 по умолчанию.\n", "\n", "Для начала установки нажмите на кнопку «Install».\n", "\n", "5. После этого будет произведена установка Anaconda на ваш компьютер.\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_6.png)\n", "\n", "\n", "### Установка Anaconda в Linux\n", "\n", "
\n", "\n", "Скачайте дистрибутив Anaconda для Linux, он будет иметь расширение\n", "`.sh` , и запустите установку командой:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> bash имя_дистрибутива.sh\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "В результате вы увидите приглашение к установке. Для продолжения\n", "процессе нажмите «Enter».\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_7.png)\n", "\n", "\n", "2. Прочитайте лицензионное соглашение, его нужно пролистать до конца.\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_8.png)\n", "\n", "\n", "Согласитесь с ним, для этого требуется набрать в командной строке `yes`, в ответе\n", "на вопрос инсталлятора:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> Do you approve the license terms? [yes|no]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "![](fig-intro/anaconda_inst_9.png)\n", "\n", "\n", "3. Выберете место установки. Можно выбрать один из следующих вариантов:\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_10.png)\n", "\n", "\n", "* `Press ENTER to confirm the location` – нажмите ENTER для принятия предложенного пути установки. Путь по умолчанию для моей машины: /home/tester/anaconda3 , он представлен чуть выше данного меню.\n", "\n", "* `Press CTRL-C to abort the installation` – нажмите CTRL-C для отмены установки.\n", "\n", "* `Or specify a different location below` – или укажите другой путь в строке ниже.\n", "\n", "Нажмите «ENTER».\n", "\n", "4. После этого начнется установка.\n", "\n", "\n", "\n", "![](fig-intro/anaconda_inst_11.png)\n", "\n", "\n", "## Проверка работоспособности\n", "
\n", "\n", "Теперь проверим работоспособность всего того, что мы установили.\n", "\n", "### Проверка интерпретатора Python\n", "\n", "
\n", "\n", "Для начала протестируем интерпретатор в командном режиме. Если вы работаете\n", "в Windows , то нажмите сочетание Win+R и в появившемся окне введите\n", "`python`. В Linux откройте окно терминала и в нем введите `python3`\n", "(или `python`).\n", "\n", "В результате Python запустится в командном режиме, выглядеть это будет\n", "примерно так (картинка приведена для Windows, в Linux результат будет\n", "аналогичным):\n", "\n", "\n", "\n", "![](fig-intro/check_1.png)\n", "\n", "\n", "В окне введите:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "print(\"Hello, World!\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Результат должен быть следующий:\n", "\n", "\n", "\n", "![](fig-intro/check_2.png)\n", "\n", "\n", "### Проверка Anaconda\n", "\n", "
\n", "\n", "Здесь и далее будем считать, что пакет Anaconda установлен в Windows, в папку\n", "`C:\\Anaconda3`, в Linux, вы его можете найти в каталоге, который\n", "выбрали при установке.\n", "\n", "Перейдите в папку `Scripts` и введите в командной строке:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> ipython notebook\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "![](fig-intro/check_3.png)\n", "\n", "\n", "Если вы находитесь в Windows и открыли папку `C:\\Anaconda3\\Scripts` через\n", "проводник, то для запуска интерпретатора командной строки для этой папки в поле\n", "адреса введите `cmd`.\n", "\n", "\n", "\n", "![](fig-intro/check_4.png)\n", "\n", "\n", "\n", "В результате запустится веб-сервер и среда разработки в браузере.\n", "\n", "\n", "\n", "![](fig-intro/check_5.png)\n", "\n", "\n", "Создайте ноутбук для разработки, для этого нажмите на кнопку «New» (в правом углу\n", "окна) и в появившемся списке выберете Python.\n", "\n", "В результате будет создана новая страница в браузере с ноутбуком. Введите в\n", "первой ячейке команду" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "print(\"Hello, World!\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "и нажмите Alt+Enter на клавиатуре. Ниже ячейки должна появиться соответствующая надпись.\n", "\n", "\n", "\n", "![](fig-intro/check_6.png)\n", "\n", "\n", "\n", "\n", "\n", "\n", "# Запуск программ на Python\n", "
\n", "\n", "Программный код на языке Python можно записать с помощью любого\n", "простого текстового редактора, который способен загружать и сохранять\n", "текст либо в кодировке ASCII, либо UTF-8. По умолчанию предполагается,\n", "что файлы с программным кодом на языке Python сохраняются в кодировке\n", "UTF-8, надмножестве кодировки ASCII, с помощью которой можно\n", "представить практически любой символ любого национального\n", "алфавита. Файлы с программным кодом на языке Python обычно имеют\n", "расширение `.py`, хотя в некоторых UNIX-подобных системах (таких как\n", "Linux и Mac OS X) некоторые приложения на языке Python не имеют\n", "расширения, а программы на языке Python с графическим интерфейсом, в\n", "частности в Windows и Mac OS X, обычно имеют расширение `.pyw`. В этой\n", "книге все время будет использоваться расширение `.py` для обозначения\n", "консольных программ и модулей Python и расширение `.pyw` – для\n", "программ с графическим интерфейсом. Все примеры, представленные в\n", "книге, не требуют изменений для запуска в любой из платформ,\n", "поддерживаемых Python 3.\n", "\n", "\n", "Язык Python – это *интерпретируемый* язык. Это означает, что помимо\n", "непосредственно самой программы, вам необходим специальный инструмент для её\n", "запуска. Напомним, что существуют компилируемые и интерпретируемые языки\n", "программирования. В первом случае, программа с языка высокого уровня переводится\n", "в машинный код для конкретной платформы. В дальнейшем, среди пользователей,\n", "она, как правило, распространяется в виде бинарного файла. Для запуска такой\n", "программы не нужны дополнительные программные средства (за исключением\n", "необходимых библиотек, но эти тонкости выходят за рамки нашего обсуждения).\n", "Самыми распространенными языками такого типа являются C++ и C . Программы на\n", "интерпретируемых языках, выполняются интерпретатором и распространяются в виде\n", "исходного кода.\n", "\n", "Python может работать в двух режимах:\n", "* интерактивный;\n", "\n", "* пакетный.\n", "\n", "## Интерактивный режим работы\n", "
\n", "\n", "В интерактивный режим можно войти, набрав в командной строке" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> python\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "или" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> python3\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "В результате Python запустится в интерактивном режиме и будет ожидать ввод\n", "команд пользователя.\n", "\n", "\n", "\n", "![](fig-intro/interact_1.png)\n", "\n", "\n", "Если же у вас есть файл с исходным кодом на Python , и вы его хотите запустить, то\n", "для этого нужно в командной строке вызвать интерпретатор Python и в качестве\n", "аргумента передать ваш файл. Например, для файла с именем test.py процедура\n", "запуска будет выглядеть так:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> python test.py\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Откройте Python в интерактивном режиме и наберите в нем следующее:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "print(“Hello, World!”)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "И нажмите ENTER .\n", "\n", "В ответ на это интерпретатор выполнит данную строку и отобразит\n", "строкой ниже результат своей работы.\n", "\n", "\n", "\n", "![](fig-intro/interact_2.png)\n", "\n", "\n", "Python можно использовать как калькулятор для различных вычислений, а если\n", "дополнительно подключить необходимые математические библиотеки, то по своим\n", "возможностям он становится практически равным таким пакетам как Matlab, Octave и\n", "т.п.\n", "\n", "Различные примеры вычислений приведены ниже. Более подробно об\n", "арифметических операциях будет рассказано далее. \n", "\n", "\n", "\n", "![](fig-intro/interact_3.png)\n", "\n", "\n", "Для выхода из интерактивного режима, наберите команду" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "exit()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "и нажмите ENTER .\n", "\n", "В комплекте вместе с интерпретатором Python идет IDLE (интегрированная\n", "среда разработки). По своей сути она подобна интерпретатору, запущенному\n", "в интерактивном режиме с расширенным набором возможностей (подсветка синтаксиса,\n", "просмотр объектов, отладка и т.п.).\n", "\n", "Для запуска IDLE в Windows необходимо перейти в папку Python в меню “Пуск” и\n", "найти там ярлык с именем «IDLE (Python 3 XX-bit)».\n", "\n", "\n", "\n", "![](fig-intro/interact_4.png)\n", "\n", "\n", "В Linux оболочка IDLE по умолчанию отсутствует, поэтому ее предварительно\n", "нужно установить. Для этого, если у вас Ubuntu , введите в командной строке (для\n", "Python 3.4):" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> sudo apt-get install idle-python3\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "В результате IDLE будет установлен на ваш компьютер.\n", "Для запуска оболочки, введите:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> idle-python3.4\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ниже представлен внешний вид IDLE в ОС Linux.\n", "\n", "\n", "\n", "![](fig-intro/interact_5.png)\n", "\n", "\n", "## Пакетный режим работы\n", "
\n", "\n", "Теперь запустим Python в режиме интерпретации файлов с исходным кодом\n", "(пакетный режим). Создайте файл с именем `test.py`, откройте его с\n", "помощью любого текстового редактора и введите следующий код:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "a = int(input())\n", "print(a**2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Эта программа принимает целое число на вход и выводит его квадрат. Для\n", "запуска, наберите в командной строке" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Terminal> python test.py\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Пример работы программы приведен в окне ниже.\n", "\n", "\n", "\n", "![](fig-intro/interact_5.png)\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "" ] } ], "metadata": {}, "nbformat": 4, "nbformat_minor": 2 }