====== Владеем программированием на языке ====== * Знаем синтаксис и стандартную библиотеку * Знаем принятые приемы работы (best practice) * Умеем использовать инфраструктуру сторонних библиотек * Владеем соответствующими средства разработки
====== Python как платформа ====== Python — интерпретируемый язык программирования. Программа на нем всегда (почти) распространяется в виде исходных кодов и называется скриптом. Файлы скриптов, как правило, имеет расширение ''.py''. Дистрибутив Python включает: * Собственно интерпретатор * Стандартную библиотеку («батарейки в комплект входят») * Менеджер пакетов (pip) Интерпретатор для Windows можно поставить из магазина приложений или скачать в составе сборок, таких как Anaconda и Spyder IDE. Я предполагаю дальнейшую работу с использованием IDE Spyder, скачать и установить среду можно по ссылке: [[https://docs.spyder-ide.org/current/installation.html#downloading-and-installing]]
===== Интерактивный режим ===== Если запустить интерпретатор Python непосредственно, то он запуститься, как консольное приложение в интерактивном режиме: > python3 Python 3.5.3 (default, Jan 19 2017, 14:11:04) [GCC 6.3.0 20170118] on linux Type "help", "copyright", "credits" or "license" for more information. >>> Для выхода можно использовать ''Ctrl-Z'' + Ввод (Windows) или ''Ctrl-D'' (все остальные). Тут можно вводить команды по одной и радоваться результату: >>> a = 42 >>> b = a*2 >>> b+a 126
===== В какой программе писать на Python? ===== Не надо работать у обычном блокноте и тем более в текстовом процессоре, нужен редактор который умеет (как минимум): * Подсветку синтаксиса Python; * Автодополнение кода на Python; * Режим «использовать пробелы вместо табов»; * Режим табличного / многокурсорного редактирования.
==== Конкретные программы ==== Среды для научного программирования: * [[https://www.spyder-ide.org/|Spyder]] — я буду ориентироваться на него в данном курсе * [[https://pyzo.org/|Pyzo]] — умеет меньше, чем Spyder, но существенно быстрее * [[https://jupyter.org|Jupyter]] Среды разработки общего назначения: * [[https://www.jetbrains.com/pycharm/|PyCharm]] * [[https://code.visualstudio.com/|VSCode]] Текстовые редакторы для исходного кода: * [[https://notepad-plus-plus.org/|Notepad++]] * [[https://kate-editor.org/|Kate]] * [[https://atom.io/|Atom]] * [[https://www.sublimetext.com/|Sublimetext]]
===== Расширения файлов ===== * ''*.py'' — скрипт на Python. При правильной настройке в Windows файлы с этим расширением будут по умолчанию запускаться в Python. * ''*.pyw'' — скрипт на Python. В отличии от ''*.py'' в Windows не будет открываться консоль при запуске файлов с этим расширением. Используются для создания приложений с графическим интерфейсом. * ''%%__pycache__%%'' — папка, генерируемая Python в процессе работы (можно удалять) В Windows для запуска ''.py'' нужно настроить их открытие в программе python, а в Linux и Mac скрипты на Python запускаются, как обычные приложения при помощи [[https://ru.wikipedia.org/wiki/%D0%A8%D0%B5%D0%B1%D0%B0%D0%BD%D0%B3_(Unix)|шебанга]]. Собрать отдельный исполняемый модуль для Windows (''.exe'') из Python программы можно, но это требует специальных инструментов и, по сути, означает, что интерпретатор, используемые библиотеки и собственно скрипт будут объединены в один (очень большой и сравнительно медленно запускающийся) исполняемый файл.