Python

ТЕОРИТИЧЕСКАЯ ЧАСТЬ

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

В свободном доступе

Используется в различных операционных системах

Поддерживается обьективно ориентированное программирование

Использования с Php и Visual Basic

Основное свойство Питона это простота

Понятный и лаконинчый синтаксис

Отсуствие специфических разделителей

Структура оператов проста,понятна и компактна

Создан в 1991 автором Guido van Rossum (Голландия)
Cpython (реализован на языке C, развивается объединением Python
Software Foundation, созданным в 2001
 CPython – два направления
 Python 2
 Python 3
 Интерпретатор и модули (библиотеки) Python распространяются
бесплатно
 Данный учебный материал ориентирован на Python 3, см python.org
Прочие реализации Python:
 IronPython, реализован в C# Microsoft
 Jython, реализован в Java
 PyPy, реализован в Python
 VPython – визуальный Python

Интерактивный интерфейс пользователя ID(L)E
4 Основы разработки приложений и программирования
I (integrated / interactive)
D (development / design / debugging )
E (environment)
 Интерактивный интерфейс :
 интерпретатор
 редактор текста
 средства отладки
 Дополнения:
 руководства
 модули

Интерактивный интерфейс пользователя ID(L)E
5 Основы разработки приложений и программирования
 В окне Shell выводятся результаты и сообщения
 Это окно можно использовать для интерактивных
вычислений: выражения, операторы, фрагменты
программ
 Для ввода программы – File-New Window
 Специализированный редактор текста поддерживает
ввод программы:
 Отступы
 Различные цвета для выделения элементов программы
 Программу можно составлять и редактировать с
помощью любого текстового редактора

thon 2  Интерпретируемый язык программирования для создания программ самого разнообразного назначения  В свободном доступе  Используется в различных операционных системах  Поддерживается объектно-ориентированное программирование  Использование сравнимо с PHP иVisual Basic. Основное свойство Python – простота:  Понятный и лаконичный синтаксис  Отсутствие специфических разделителей  Структура операторов проста, понятна и компактна Основы разработки приложений и программирования Python 3 Основы разработки приложений и программирования Создан в 1991 автором Guido van Rossum (Голландия) Cpython (реализован на языке C, развивается объединением Python Software Foundation, созданным в 2001  CPython – два направления  Python 2  Python 3  Интерпретатор и модули (библиотеки) Python распространяются бесплатно  Данный учебный материал ориентирован на Python 3, см python.org Прочие реализации Python:  IronPython, реализован в C# Microsoft  Jython, реализован в Java  PyPy, реализован в Python  VPython – визуальный Python Интерактивный интерфейс пользователя ID(L)E 4 Основы разработки приложений и программирования I (integrated / interactive) D (development / design / debugging ) E (environment)  Интерактивный интерфейс :  интерпретатор  редактор текста  средства отладки  Дополнения:  руководства  модули Интерактивный интерфейс пользователя ID(L)E 5 Основы разработки приложений и программирования  В окне Shell выводятся результаты и сообщения  Это окно можно использовать для интерактивных вычислений: выражения, операторы, фрагменты программ  Для ввода программы – File-New Window  Специализированный редактор текста поддерживает ввод программы:  Отступы  Различные цвета для выделения элементов программы  Программу можно составлять и редактировать с помощью любого текстового редактора 6 input print Окно графики Отображаются графические данные Окно Python Shell Работа в режиме калькулятора. Командой File > New Window открывается окно редактора Командой File > Open… открывается имеющаяся программа Окно Python Shell Введение исходных данных, вывод сообщений и результатов Основы разработки приложений и программирования Запуск программы (скрипта) 7 Основы разработки приложений и программирования Программы можно запускать прямо из окна редактора: Run – Run Module (F5)  До запуска программа должна быть сохранена с расширением .py  В случае синтаксической ошибки интерпретатор выводит сообщение об ошибке и указывает ее место  Разом указывается только одна ошибка  При выполнении программы могут возникнуть семантические ошибки, например, были введены неподходящие данные  Если синтаксических ошибок нет, интерпретатор начинает выполнять программу, активируя окно Python Shell, в котором отображаются сообщения и результаты Основные элементы программы на Python Основы разработки приложений и программирования 8  Файлы программы сохраняются с расширением .py  В простейшем случае программа состоит из последовательности операторов и комментариев  Каждый простой оператор – отдельная строка  Два простых оператора на одной строке разделяет знак ; (точка с запятой)  Комментарии начинаются с символа # и могут быть расположены на отдельной строке или в конце строки  Отступы и двоеточие используются для задания структуры составных операторов Данные в Python 9 Основы разработки приложений и программирования  В приложениях Python можно использовать:  Скалярные данные: числа, тексты, временные и логические величины  графические данные : рисунки, схемы, картинки …  Различные мультимедийные данные  Используется различная организация данных:  списки, массивы, матрицы, словари, файлы …  Данные можно считывать и записывать в базы данных  Можно создавать и обрабатывать документы с различной структурой (файлы)  Обработка данных простая и динамичная  Константы, переменные и структуры данных не требуют декларирования (описания) Скалярные данные 10 Основы разработки приложений и программирования  Различаются четыре основных типа или класса скалярных данных в Python:  Строки символов (стринги) – класс str  Целые числа – класс int  Действительные числа – класс float  Логические данные – класс bool Константы 11 Основы разработки приложений и программирования Значение константы задается в программе и не меняется во время её выполнения Для каждого вида данных предусмотрены чёткие правила представления констант  Числовая константа: представляется десятичным числом или степенью числа 10. В действительных числах для отделения дробной части используется точка 13 -345 647.234 -35.67 2.1e6 = 2.1106 1e-20 =10-20  Строковая константа: последовательность произвольных символов, значение константы помещается между разделителями (кавычки или апострофы), которые не принадлежат к множеству констант “a” “Pindala” “x1=” ’Mis on Sinu nimi?’ “Ei” ’pindala=’  Логическое значение: True (истина) и False (ложь) Переменные I 12 Основы разработки приложений и программирования  Переменные представляются при помощи имён NB! Python чувствителен к смене регистра – различает маленькие и большие буквы  В Python не надо декларировать переменные (невозможно)  Тип переменной определяется динамически при присваивании значения, таким образом в переменной в различные моменты времени могут быть сохранены значения различных типов  До использования переменной в выражении ей надо присвоить значение  В Python возможно расширенное присваивание (+=, -=, *=, /=, %=, **= …) и множественное присваивание (s = n = k = 0)  Выделение памяти переменным происходит во время выполнения программы: в ходе анализа текста программы интерпретатор выясняет используемые переменные и выделяет для них ячейки памяти Переменные II 13 Основы разработки приложений и программирования  Переменные можно разделить на три группы:  Простые переменные  Объектные или переменные типа указатель  Структурные переменные  Простая переменная – это ячейка в памяти компьютера (с именем), куда программа может в ходе выполнения записать значение (число, текст …)  В каждый момент времени у переменной может быть только одно значение  До тех пор, пока у переменной нет присвоенного значения, она не определена  Объектным переменным выделяется в рабочей области ячейка памяти  Сохраняется ссылка на объект: адрес вектора свойств объекта в памяти  При помощи имени переменной можно ссылаться на объект, на его свойства и методы  Структурным переменным (спискам …) соответствуют несколько связанных между собой ячеек памяти (элементов) с заданной организацией Ключевые слова 14 Основы разработки приложений и программирования  В Python имеется определенное множество так называемых резервированных ключевых слов, которые нельзя использовать в других целях: False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break except in raise Выражения. Структура и ее типы 15 Основы разработки приложений и программирования Выражение определяет, какие действия (операции) и в каком порядке необходимо выполнить для нахождения значения  В общем случае выражение состоит из:  Операндов  Знаков операций (действий)  Круглых скобок  В частном случае выражение может содержать всего один операнд Операндами могут быть:  Константы  Простые переменные  Элементы структурных переменных  Ссылки на функции и методы  Простые переменные задаются при помощи имен.  Представление элементов структурных переменных зависти от типа данных Выражения 16 Основы разработки приложений и программирования  В зависимости от типа данных, используемых действий и типа искомого значения выражения можно разделить на следующие группы:  числовые  строковые (символьные)  логические Действия или операции 17 Основы разработки приложений и программирования  Действия или операции делятся на четыре группы:  Арифметические операции ** , * , / , // , % , + , –  Операции с текстами +, *  Операции сравнения == , != , < , <= , > , >=  Логические операции not, and, or  При нахождении значений арифметических или логических выражений учитывается приоритет операций  Выше арифметические и логические операции приведены в порядке убывания их приоритетов  При нахождении значений прежде всего выполняются арифметические действия, затем сравнения и в последнюю очередь – логические операции  Для изменения порядка выполнения действий используются круглые скобки. В первую очередь вычисляется значения выражения в скобках  Аргументы функций и методов должны быть заключены в круглые скобки Символьные выражения 18 Основы разработки приложений и программирования  Результат действий с символьными значениями является также символьным. Для работы с ними можно использовать соответствующие операции и функции  Символьная операция +, объединяющая строки, называется конкатенация NB! В действиях с символьными выражениями числа следует преобразовывать в строки при помощи функции str(аргумент): ‘Результат равен ‘ + str(25)  ‘Результат равен 25‘  * дает возможность повторять строку заданное число раз. Один из операндов должен быть целым числом: 3 * ‘ai‘  ‘aiaiai ‘  из строк можно выделять символы с помощью индексов (значение индекса всегда начинается с нуля): tekst[0], tekst[0:3], tekst[5:]  Стандартная функция len() находит длину строки – количество символов Логические выражения 19 Основы разработки приложений и программирования  Операции сравнения: выражение1 знак_операции выражение2  Знаки операций: == , != , < , <= , > , >=  В одном сравнении типы данных операндов должны подходить друг другу  Результат сравнения – логическое значение True (истина) или False (ложь)  Логические операции: or, and и not.  or – или; результат истинен, если значение хотя бы одного операнда – истина  and – и; результат истинен, если значения всех операндов – истина  not – не, логическое отрицание. Результат операции not a истинен, если значение a ложно и наоборот Присваивание и оператор присваивания 20 Основы разработки приложений и программирования  Присваивание состоит в сохранении значения во внутренней памяти компьютера в предусмотренной для этого ячейке памяти, прежнее значение которой (если оно было) пропадает  Обычно сохранению значения предшествует его нахождение (вывод) при помощи заданного выражения  Общий случай: вычисляется значение выражения в правой части оператора и результат присваивается находящейся в левой части переменной: переменная = выражение  Нахождению значения выражения сопутствует считывание ранее сохранённых значений используемых переменных (переменная представляется при помощи имени)  Операндами выражений могут быть константы, переменные, элементы массивов, ссылки на функции  В Python можно присваивать значение разом нескольким переменным переменная[, переменная]… = выражение[, выражение]…  a, b = b, a меняет значения переменных a и b Функции 21 Основы разработки приложений и программирования  Обращение к функции происходит при помощи ссылки на функцию в виде: имя(аргумент {, аргумент, … })  Имена внутренних функций не принадлежат множеству резервированных ключевых слов  Аргумент в ссылке на функцию указывает на значение, передаваемое функции  Количество, тип и порядок представления аргументов зависят от конкретной функции  Аргументы могут быть представлены при помощи выражений Модули 22 Основы разработки приложений и программирования  Внутренние функции в Python можно использовать напрямую  Большая часть функций находится в модулях (в отдельных файлах), которые следует связывать с основным модулем  import имя_модуля import math, turtle находящиеся в модуле функции и константы можно использовать в виде имя_модуля.функция() t = math.sin(x*math.pi); turtle.forward(10)  from имя_модуля import * from math import * даёт возможность использовать все функции модуля как внутренние (без добавления имя модуля) t = sin(x*pi)  from имя_модуля import имя_функции даёт возможность использовать из модуля только выбранную функцию Вывод данных на экран 23 Основы разработки приложений и программирования  Для вывода данных в окно shell можно использовать функцию print: print ([аргумент[, аргумент]…])  Аргументом может быть несколько значений (константы, переменные и выражения вперемешку) print (“ширина=“, a, “высота=“, b, “площадь=“, a*b)  При выводе на экран print добавляет между значениями один пробел и в конце – переход на следующую строку (‘\n)  print() выводит пустую строку  end = ““ блокирует переход на следующую строку  sep = … задаёт новый разделитель Ввод данных с клавиатуры 24 Основы разработки приложений и программирования  Для ввода данных с клавиатуры используется функция input() переменная = input([сообщение])  Сообщение не является обязательным; оно может быть представлено текстовым выражением, числа должны быть преобразованы в символьную форму: ответ = input(str(a) + ” + ” + str(b) + ” = “)  Результат функции input() является символьным (string) Используются функции преобразования int и float, например: n = int (input(“Сколько вопросов?”)); a = float(input(“расстояние”))  Разом можно вводить значения нескольких переменных, отделяя их запятыми. Значения разделяются при помощи функции eval() Предложение может быть представлено в виде: переменная[, переменная]… = eval(input([сообщение])) Примеры простых операторов 25 Основы разработки приложений и программирования Простые операторы не содержат других операторов. Преимущественно простые операторы – это:  оператор присваивания переменная [, переменная] … = выражение [, выражение]… y = x**3 + 2 * x – 7.2; k = k +1 ; k += 1 S = k = t = 0 ; v, w = 2 * x, 3+x; x1, x2 = ruutvrd(a, b, c)  обращение к функции (возвращаемое(-ые) значение(-я)) nimi = input (“Как тебя зовут?”); L = float ( input (“Введи число” )); a, b, c = eval (input (“введи коэффициенты”)); print(“Сумма = “, S) ; joonista()  return return 2 * x  break  continue Сложные или составные операторы 26 Основы разработки приложений и программирования  Составной оператор содержит один или несколько простых или сложных операторов Представляется в виде заголовок оператора: оператор оператор …  Заголовок такого оператора начинается с ключевого слова и заканчивается двоеточием (:)  Внутренние предложения образуют блок У операторов одного уровня должны быть одинаковые отступы Внутренние операторы могут также быть сложными операторами Сложными операторами являются, например, условные операторы и операторы повторов (циклы) Условные операторы 27 Основы разработки приложений и программирования Условные операторы (If-операторы) обеспечивают выполнение действий в зависимости от заданных условий Условия представляются при помощи сравнений или логических функций  При выполнении операторов проверяется прежде всего условие в if-операторе, если оно истинно, выполняются операторы if-блока, всё остальное до конца условного оператора опускается  В противном случае подряд проверяются условия elif-операторов (если они есть) и, если находится первое истинное, выполняются операторы этого блока, затем выполняется оператор, следующий за if-оператором  Если ни одно из условий не является истинным, выполняются операторы else-блока (если они есть) Для задания структуры программы следует использовать отступы! Условный оператор 28 Основы разработки приложений и программирования Общий вариант if-оператора: из всех представленных действий на основе условия выбирается одно if (условие): if_операторы

[elif (условие):
elif_операторы ]

[else :
else_операторы ]

истина if-операторы 0..* elseifоператоры ложь ложь elseоператоры 0, 1 ложь истина все ложь Повторения или операторы циклов 29 Основы разработки приложений и программирования В Python для описания повторений существуют два оператора:  while-оператор  for-оператор У этих операторов имеется несколько вариантов Внутри оператора цикла может быть команда break для прерывания повторений (обычно внутри условного оператора) break прерывает ближайший (последний) повтор Работу скрипта можно закончить комбинацией клавиш Ctrl+c while-опеатор 30 Основы разработки приложений и программирования while условие : операторы

[break]

операторы Повтор с предшествующей проверкой в Scratch работает до тех пор, пока условие не станет верным  При выполнении while-оператора действия повторяются, если условие истинно  Принадлежность последующих операторов к while-оператору задаётся дополнительным отступом  Бесконечный цикл можно задавать при помощи while-оператора с условием, значение которого всегда истинно: while True: истина операторы ложь следующий истина операторы * повторять до следующий Условие е For-оператор 31 Основы разработки приложений и программирования Общий вид For-оператора: for элемент in ряд операторы

[if условие: break]

операторы повтор для каждого элемента в ряду действия_1 если условие выход действия_2 конец повтора Действия выполняются для каждого элемента заданной последовательности (ряда) или множества Одна из возможностей задания последовательности – функция range(): range ([начало, ] конец[, шаг])  Если отсутствует начало, оно принимается равным нулю  Если отсутствует шаг, он принимается равным единице  Последний член последовательности по крайней мере на один шаг меньше конечного значения * для каждого элемента в последовательности операторы следующий Списки 32 Основы разработки приложений и программирования  Список (List) или одномерный массив – это упорядоченное множество ячеек памяти (переменных), которое обозначается одним именем  Ссылка на элементы происходит при помощи индекса (имя и порядковый номер): имя_списка[индекс]  Индекс заключается в квадратные скобки [ ] и может быть представлен в виде выражения  Порядковые номера элементов списков в Python всегда начинаются с нуля  Длина списка (количество элементов в списке) вычисляется при помощи функции len(имя_списка)  Для создания списков данные можно:  Вводить с клавиатуры  Создавать при помощи выражений (также и при помощи случайных чисел)  Считывать значения из файла  Присваивать последовательность значений: имя = [’Kask’, ’Kuusk’, ’Mänd’, ’Paju’, ’Saar’, ’Tamm’] Действия со списками 33 Основы разработки приложений и программирования  len(список) – длина списка (количество элементов)  del(список[nr]) – удаление значения (-ий) (nr – порядковый номер или промежуток)  список.append(x) – добавление значений в конец списка  список.extend(L) – добавление списка в конец списка  список.insert(i, x) – добавление значения x в позицию i  список.remove(x) – удаление значения x из списка  список.pop([i]) – считывание и удаление значения, если i отсутствует, берётся последний элемент Структура приложения и его основные элементы 34 Основы разработки приложений и программирования Функции, находящиеся в стандартных модулях не принадлежат множеству внутренних функций, модули надо связывать с основным модулем командой import имя_модуля В дополнение к стандартным модулям для Python существует множество дополнительных модулей (связываются также командой import). Пользователь сам может создавать функции и классы и помещать их в основной модуль своего приложения или составлять из них отдельный(-ые) дополнительный(-ые) модуль(-и) Python метод класс функция функция класс метод главная процедура интерпретатор редактор стандартные модули основной модуль вспомогательный модуль 0 ..* 0 ..* 0 ..* 1 * * * * * Обращение к функциям и методам 35 Основы разработки приложений и программирования  Обращение к внутренним функциям происходит при помощи ссылки на функцию: имя_функции(аргументы)  Количество аргументов, значение, тип и очерёдность зависят от функции  Модули добавляются к приложению таким образом:  import имя_модуля Обращение к добавленным таким образом функциями (методам) и константам (свойствам) модуля происходит следующим образом: имя_модуля.имя_функции(аргументы)  from имя_модуля import * (или список функций) Обращение к добавленным таким образом функциями (методам) и константам (свойствам) модуля происходит следующим образом: имя_функции(аргументы)  К методам объекта обращаются таким образом: имя_объекта.имя_метода(аргументы) Создание функций 36 Основы разработки приложений и программирования def имя ([параметры]): операторы [ return выражение] …  Заголовок функции начинается с ключевого слова def, за которым следует имя и параметры в скобках; скобки должны быть пустыми, если параметры отсутствуют  В конце заголовка должно стоять двоеточие :  Операторы содержания или тела функции должны располагаться с отступом относительно заголовка  Оператор return выражение(-ия) заканчивает работу функции и возвращает значение(-я)  Обращение к функции: [переменная = ] имя ([аргументы]) переменная нужна, если функция возвращает значение  Количество аргументов, тип и очерёдность должны соответствовать параметрам Текстовые строки 37 Основы разработки приложений и программирования  Файл состоит из записей или строк. Запись состоит из одного или нескольких полей  Поля отделяются друг от друга разделителем, которого не должно быть в значениях поля В конце записи – (невидимый) символ перехода на следующую строку \n.  Перед чтением или записью файл открывается командой: файл = open(имя_файла, способ обработки) файл – объектная переменная имя_файла – полное имя файла: [путь]имя.txt ” w” – запись, “r” – чтение (принимается по умолчанию)  После обработки файл следует закрыть методом close() файл.close() Чтение данных из файла 38 Основы разработки приложений и программирования  Чтение всего файла разом: список = файл.readlines()  Чтение данных по отдельным записям: запись = файл.readline()  Чтение записей в цикле: for запись in файл: действия с записью  Вспомогательные методы объекта-String (строки символов): stringavaldis.strip() – удаление пробелов и управляющих символов (\n \t) stringavaldis.split() – создание списка Запись данных в файл 39 Основы разработки приложений и программирования  Файл должен быть открыт для записи (способ обработки “w”, “a”)  Основной вариант записи файл.write(string)  Строку (string) следует составлять из данных одной записи  Числа преобразуются в строки символов (функция str())  Между полями следует добавлять разделитель (пробел)  В конце записи добавлять \n  Для добавления записи в файл подходит также метод файл.print(v1, v2, … , file= файл) v1, v2, … – значения (не обязательно должны быть текстами) файл – файл, открытый для записи print добавляет по умолчанию пробелы между значениями и в конец

Вывод данных на экран
23 Основы разработки приложений и программирования
 Для вывода данных в окно shell можно использовать
функцию print:
print ([аргумент[, аргумент]…])
 Аргументом может быть несколько значений (константы,
переменные и выражения вперемешку)
print (“ширина=“, a, “высота=“, b, “площадь=“, a*b)
 При выводе на экран print добавляет между значениями
один пробел и в конце – переход на следующую строку (‘\n)
 print() выводит пустую строку
 end = ““ блокирует переход на следующую строку
 sep = … задаёт новый разделитель

round округляет числа

import импортирует модуль

input пользователь вводит что либо

float число с запятой или ввод данныз с плавающей точкой

str преобразует в текст

upper делает текст больше

math sqrt возведение в квадратный корень

sqrt возведение в степень