Технологии и методы программирования. Учебное пособие
.pdf
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
И. С. КАЛЫТЮК
ТЕХНОЛОГИИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ
Утверждено Редакционно-издательским советом университета в качестве учебного пособия
НОВОСИБИРСК
2025
1
УДК 004.432(075.8) К177
Рецензенты:
канд. техн. наук, доцент А. В. Гунько канд. техн. наук, главный инженер ЗАО «СИНЕТИК» Г. П. Голодных
Работа подготовлена на кафедре автоматики НГТУ
Калытюк И. С.
К177 Технологии иметодыпрограммирования: учебноепособие/ И. С. Калытюк. – Новосибирск : Изд-во НГТУ, 2025. – 64 с.
ISBN 978-5-7782-5410-7
Учебное пособие содержит теоретический материал по основным синтаксическимконструкциямязыкапрограммированияPython, атакже примеры, объясняющие особенности их использования. В работе уделяетсявниманиемногимдеталямреализацииязыкапрограммирования Python, что поможет студентам лучше освоить его.
Предназначено для студентов, обучающихся по направлениям 27.03.04 «Управление в технических системах» и 09.03.01 «Информатика и вычислительная техника».
|
УДК 004.432(075.8) |
ISBN 978-5-7782-5410-7 |
© Калытюк И. С., 2025 |
|
© Новосибирский государственный |
|
технический университет, 2025 |
2
1. ОСНОВЫ ЯЗЫКА PYTHON
Базовые операции на языке Python
Рассмотрим создание программы, выводящей на экран приветственное сообщение «Hello, world!». Для этого необходимо использовать инструкцию print("Hello, world!"). Результат отображается в терминале после запуска данной программы.
Для вывода числовых данных (констант) используется инструкция по типу print(12). Одновременное отображение и строк, и чисел возможно, например, с помощью print("Hello, world!", 12). Помимо этого могут быть использованы дополнительные параметры функции print():
sep – строка или символ, который вставляется между значениями функции, по умолчанию используется пробел;
end – строка, которая подставляется после последнего выводимого функцией значения, по умолчанию – символ новой строки.
Дополнительные параметры указываются последними.
Для данных параметров возможно использование специальных escape-последовательностей, которые не отображаются на экране и всегда начинаются с символа правого слеша ('\'). Наиболее часто используемые escape-последовательности приведены в табл. 1.
Пример с дополнительными параметрами (вывод аргументов в виде отдельных строк):
print('hello', 'world', sep='\n')
При использовании инструкции print возможно также применение математических операций. Пример: print(6 + 6). Результатом
3
является число 12. В табл. 2 приводятся наиболее часто используемые операторы.
Таблица 1
|
|
|
|
|
Escape-последовательности |
||
|
|
|
|
|
|
|
|
Обозначение |
|
|
|
Описание |
|||
|
|
|
|
|
|
|
|
|
\t |
Горизонтальный табулятор |
|||||
|
\v |
Вертикальный табулятор |
|||||
|
\s |
Пробел |
|
||||
|
\b |
Удаление предыдущего |
|||||
|
\x |
Символ x |
|
||||
|
\n |
Новая строка |
|
||||
|
\r |
Возврат каретки |
|||||
|
\a |
Вызов одинарного сигнала системного динамика |
|||||
|
\’ |
Вывод одинарной кавычки – апострофа |
|||||
|
\’’ |
Вывод двойной кавычки |
|||||
|
|
|
|
|
|
|
|
|
\\ |
|
Вывод правого слеша |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 2 |
|
|
|
|
|
Арифметические операторы |
||
|
|
|
|
|
|||
Арифметический оператор |
Описание |
||||||
|
|
|
|
|
|
|
|
+ |
|
– |
|
* |
|
/ |
Сложение, вычитание, умножение |
|
|
|
и деление |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
** |
|
|
|
Возведение в степень |
||
|
|
|
|
|
|
|
|
|
% |
|
|
|
Деление по модулю – делит левый опе- |
||
|
|
|
|
ранд на правый и возвращает остаток |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
// |
|
|
|
Целочисленное деление операндов |
||
|
|
|
|
|
|
|
|
4
Дополнительно в языке Python присутствуют встроенные математические функции, их список приведен в табл. 3.
|
Таблица 3 |
|
Математические функции |
|
|
Функция |
Описание |
|
|
abs() |
Абсолютное значение числа |
round() |
Округление до определенного знака после запятой |
int() |
Целая часть числа |
divmod() |
Деление нацело и нахождение остатка от деления |
pow() |
Возведение в степень |
max() |
Максимальный элемент |
min() |
Минимальный элемент |
sum() |
Сумма элементов |
Функция для ввода данных с клавиатуры input() – базовая функция для организации ввода данных. В качестве необязательного параметра она принимает строку-приглашение и возвращает строку, вводимую пользователем. Пример:
txt = input("Введите своё имя: ") print("Ваше имя -", txt)
Переменные и типы данных
Как видно из вышеприведенного примера, функция input присваивается переменной txt. Переменная – это имя, которое ссылается на значение. Операторприсваивания«=» создаетновыепеременныеиприсваивает им значения. Типы переменных – это типы значений, на которые они ссылаются. Для переменных, как правило, используют имена, которые раскрывают их назначение. Имена переменных должны начинаться с буквы, они могут содержать буквы, цифры, символы подчеркивания, но не могут использовать зарезервированные слова. В Python
5
имеет место динамическая типизация, где любой объект является ссылкой, а типом объекта является то, на что он ссылается. Тип может динамически меняться в процессе выполнения программы, когда ссылка начинает указывать на объект другого типа. Пример присваивания переменной числового значения и вывода на экран:
number = 12 print (number)
Переменная хранит данные одного из типов данных. В Python существует множество различных типов данных. Рассмотрим базовые типы: bool, int, float и str.
Тип bool представляет два логических значения: True (верно, истина) или False (неверно, ложь).
Тип int представляет целое число – например, 2, 5, 10, 72.
Тип float представляет число с плавающей точкой – например, 1.5 или 56.43. В качестве разделителя целой и дробной частей используется точка.
Тип str представляет строки. Строка – это последовательность символов, заключенная в одинарные или двойные кавычки, например
"hello" и 'hello'.
В языке Python также есть несколько полезных встроенных функций, которые позволяют преобразовать данные из одного типа в другой. Например, функция int преобразует строку в тип int: number =
=int("10"), а функция str преобразует аргумент в строку: txt =
=str(10).
Втабл. 4 приводятся операторы присваивания, многие из которых сокращают объем кода.
Таблица 4
Операторы присваивания
Оператор |
Описание |
=Присваивает значение правого операнда левому
+= |
Прибавляет значение правого операнда к левому |
|
и присваивает эту сумму левому операнду |
||
|
6
|
Окончание табл. 4 |
|
|
|
|
Оператор |
Описание |
|
|
|
|
-= |
Отнимает значение правого операнда от левого |
|
и присваивает результат левому операнду |
||
|
||
*= |
Умножает правый операнд на левый и присваивает |
|
результат левому операнду |
||
|
||
|
|
|
/= |
Делит левый операнд на правый и присваивает ре- |
|
зультат левому операнду |
||
|
||
|
|
|
%= |
Делит по модулю операнды и присваивает результат |
|
левому |
||
|
||
**= |
Возводит левый операнд в степень правого и присва- |
|
ивает результат левому операнду |
||
|
||
|
|
|
//= |
Производит целочисленное деление левого операнда |
|
на правый и присваивает результат левому операнду |
||
|
||
|
|
Условные операторы
Условные инструкции позволяют изменять ход выполнения программы в зависимости от условий. Пример условия:
if x > 0:
print ("x – положительное число")
Логическое выражение после инструкции if называется условием, далее следует символ двоеточия (:) и строка (строки) с отступом. Если логическое условиеистинно (True), тоуправлениеполучаетвыражение, записанное с отступами, иначе (если False) выражение пропускается.
В логических выражениях используются операторы сравнения
(табл. 5).
Условия также могут быть вложенными. В случае логического типа данных возможно использование if isPositive: (если True) и if not isPositive: (если False).
Альтернативное исполнение инструкции if предполагает два направлениявыполнения, иусловиеопределяет, какоеизнихвыполнится.
7
Альтернативное исполнение предполагает выполнение одного из вариантов, так какусловие может быть либо истинным, либо ложным. Варианты называются ветвями. Пример альтернативного исполнения:
if x % 2 == 0:
print ("x – чётное число") else:
print ("x – нечётное число")
|
|
|
|
|
|
|
Таблица 5 |
|
|
|
|
|
|
Операторы сравнения |
|
|
|
|
|
|
|
|
|
|
Оператор сравнения |
|
Описание |
||||
|
|
|
|
|
|
|
|
|
|
|
= = |
|
|
Проверка равенства двух операндов |
|
|
!= |
|
<> |
|
Проверка неравенства двух операндов. |
||
|
|
|
Возвращает ложь, если операнды равны |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
< |
|
>= |
|
<= |
Проверка, больше (меньше, не меньше, |
|
|
|
не больше) ли левый операнд правого |
||||
|
|
|
|
|
|
|
|
Когда имеется больше двух вариантов выполнения, необходимо больше двух ветвей. В этом случае можно воспользоваться сцепленными условиями. Инструкция elif – аббревиатура от «else if». Оператор else должен быть в конце инструкции, но может и отсутствовать. Каждое условие проверяется в порядке расположения. Если первое условие ложно, то проверяется следующее и так далее. Если одно из условий истинно, то выполняется соответствующая ветка и инструкция завершается. Пример:
if x < y:
print ("x меньше, чем y") elif x > y:
print ("x больше, чем y") else:
print ("x и y равны")
8
Возможно также использование нескольких условий. Для этого существуют логические операторы (табл. 6).
|
Таблица 6 |
|
|
Операторы сравнения |
|
|
|
|
Логический |
Описание |
|
оператор |
||
|
||
and |
Логическое «И». Возвращает истину, если оба операнда |
|
истинны |
||
or |
Логическое «ИЛИ». Возвращает истину, если хотя |
|
бы один из операндов истинный |
||
|
Логическое «НЕ». Изменяет логическое значение |
|
not |
||
операнда на противоположное |
||
|
|
Пример:
if x == 10 and y == 10: print ("x и y равны 10")
Для сокращения объема кода возможно использование тернарного оператора. Тернарный оператор – это оператор, который используется длядемонстрациикакого-тоусловия, т. е. вместоусловнойконструкции. Он состоит из значений True и False, а также выражения, которое должно быть вычислено для этих значений. Пример:
x, y = 25, 50
lesser = x if x < y else y print (lesser)
Если x будет меньше, чем y, то возвращаемым значением будет lesser = x, а если это не так, то возвращаемым значением будет
lesser = y.
9
Циклы for, while
Циклы позволяют выполнять некоторое действие в зависимости от соблюдения некоторого условия. В языке Python есть следующие типы циклов:
while;
for.
Циклfor пробегаетпонаборузначений, помещаеткаждоезначение в переменную, и затем в цикле мы можем с этой переменной производитьразличныедействия. Послеключевогословаfor идетназваниепеременной, в которую будут помещаться значения. Затем после оператораin указываетсянабор значенийи двоеточие. Cо следующейстроки располагаетсяблокинструкцийцикла, которыетакжедолжныиметьотступы от начала цикла.
При выполнении цикла Python последовательно получает все значения из набора и передает их переменную. Когда все значения из набора будут перебраны, цикл завершает свою работу. Пример:
for i in range(6): print(i)
Данныйпримервыводитчислаот0 до5. Функцияrange() используется для генерации последовательности чисел. Рассмотрим ее синтаксис более подробно.
range(start,stop,step size)
start означает начало итерации;
stop означает, что цикл будет повторяться до stop–1. Функция range(1,5) будет генерировать числа от одной до четырех итераций. Это необязательный параметр;
step size – размер шага, используется для пропуска определенныхчиселвитерации. Егоиспользованиенеобязательно. Поумолчанию размер шага равен 1.
То есть при использовании в примере функции range(1,6,2) выведутся числа 1, 3 и 5.
10
