Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практическое программирование на Python. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Порядок исполнения блоков в Jupyter Notebook
8. Работа с файлами программ:
● файлы с программами имеют расширение «.ipynb» – сокра-
щение от IPy
● рабочей папкой для программ (именно там по умолчанию
thon Notebook;
создаются новые файлы) является папка локального пользо­вателя. При необходимости можно в проводнике открыть со­ответствующую папку и просто скопировать нужные про­граммы;
● среда предоставляет возможность загружать программы
в свою директорию по умолчанию посредством кнопки «Upload». При этом происходит копирование программы из указанного источника.
Файлы с программами в Jupyter Notebook
11
1.1.3. PyCharm
PyCharm – интегрированная среда разработки для языка про-
граммирования Python. Предоставляет средства для анализа кода, графический отладчик, инструмент для запуска юнит-тестов и под­держивает веб-разработку на Django. PyCharm разработана компа­нией JetBrains на основе IntelliJ IDEA.
Скачать и установить ее можно с официального сайта
https://www.jetbrains.com/ru-ru/pycharm/.
Запуск среды разработки можно производить из меню программ:
Запуск среды разработки PyCharm
Для начала работы необходимо создать проект, в котором будут
рабочие файлы вашей программы:
Создание проекта в среде PyCharm
12
Проект по умолчанию создается пустым, и, чтобы начать напи-
сание программы, необходимо в него добавить файл, в котором будет содержаться программа на языке Python.
Добавление файла с программой в проект в среде PyCharm
Далее слева расположено окно навигации, справа открывается
файл для написания программы, а ниже – окно исполнения, в кото­ром происходит общение с пользователем и куда выводится печать. Запуск программы на выполнение можно производить быстрой кнопкой в правой верхней части окна либо через меню.
Запуск проекта в среде PyCharm
13
2. БАЗОВЫЕ КОНСТРУКЦИИ PYTHON
Данная глава посвящена описанию основных синтаксических
конструкций языка Python и примеров их применения.
2.1. Переменные Переменная – это именованная область памяти, в которую
могут быть записаны различные значения. Также из этой области памяти может быть извлечено значение переменной, при использо­вании ее имени. В каждый момент времени переменная может иметь только одно значение динамическая типизация. Это означает что тип (и размер) перемен­ной могут меняться в процессе выполнения программы. Также для людей, знакомых с программированием на других языках, может стать неожиданностью, что даже первоначальный тип переменных указывать не надо, поскольку он определяется автоматически при ее инициализации. Также это означает отсутствие объявлять заранее необходимые переменные, как это происходит в языке С.
. Особенностью языка Python является
необходимости
a = 5 a = a*0.7 b = a*a b = 'Hi'
Обратите внимание, что в процессе исполнения программы
программист может изменять тип переменной, просто присвоив ей другое значение.
2.2. Ввод и вывод данных
Для вывода данных используется функция print(), которой в каче-
стве параметров необходимо передать то, что будет напечатано пользователю. В качестве параметров можно указывать как имена переменных, выражения (которые будут вычислены), так и строки.
a = 5 print(a) print(a*2.5) print("Hello")
14
Ввод данных в Python возможен с помощью функции input(),
которая возвращает введенное пользователем выражение. Особенно­стью этой функции является то, что возвращает она всегда строку.
a = input() print("Hello", a)
Обычно, чтобы вывести подсказку для пользователя, при вводе
данных делают предварительную печать:
Запрос на ввод данных
Однако как видно на скриншоте исполнения программы, в Jupyter
Notebook подсказка выводится ниже, чем возникает строка ввода,
что является некорректным. Поэтому корректно будет использовать следующую форму подсказки:
2.3. Операции со строками
Python является интуитивным инструментом программирования,
поэтому в стандартные библиотеки уже входят операции по работе со строками, и их можно не только складывать:
a = "Hello " b = input() print(a+b)
но и умножать на число, что будет означать «размножение»:
v = input() print(v*3)
15
2.3.1. Преобразование строки в числа
Поскольку особенностью ввода данных является то, что
возвращаемое значение всегда является строкой, то даже в пер­вых программах необходимо сразу преобразовывать строки в числа.
В случае если пользователь должен ввести целочисленное значе-
ние, можно использовать функцию int():
a = int(input()) print(a*2)
Если же пользователь должен ввести число с плавающей
точ-
кой, то можно явно указать тип, в который будет преобразована строка:
a = float(input()) print(a*2)
2.3.2. Разделение строки на части
В языке существует способ разбить строки на части, задав разде-
литель. Часто бывает необходимо разделить строку, используя в качестве разделителя пробел – в этом случае можно не задавать параметр разбиения:
array = input() b = array.split() print(b)
В результате выполнения
b – это список слов в строке.
Также можно указывать любой символ в качестве разделителя:
array = input() b = array.split('0') print(b)
2.4. Условные операторы
Оператор ветвления if позволяет выполнить определенный набор
инструкций в зависимости от некоторого условия. Возможны несколько вариантов его использования, которые будут рассмотрены далее.
16
2.4.1. Конструкция if
Синтаксис оператора if выглядит так.
if выражение: инструкция_1 ... инструкция_n
После оператора if записывается выражение. Если это выра-
жение истинно, то выполняются инструкции, определяемые данным оператором. Выражение является истинным, если его результатом является число не равное нулю, непустой объект, либо логическое True. После выражения нужно поставить двое­точие «:».
Обратите внимание на синтаксис: блок кода, который необ-
ходимо выполнить, в случае истинности выражения отделяется слева!
a = int(input()) if a == 3:
print("hello 3") if (a>0): print("Positive")
2.4.2. Конструкция if – else
Бывают случаи, когда необходимо предусмотреть альтернативный
вариант выполнения программы. То есть при истинном условии нужно выполнить один набор инструкций, при ложном – другой. Для этого используется конструкция if – else.
if выражение: инструкция_1 ... инструкция_n else: инструкция_a ... инструкция_x
17
Рассмотрим пример программы, которая печатает модуль
введенного пользователем числа:
a = int(input()) if a<0: print(-a) else: print(a)
Также на примере этой программы можно рассмотреть понятие
«тернарная условная операция» (от лат. ternarius — «тройной») –
операции, которая возвращает свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом.
a = int(input()) b = -a if a < 0 else a print(b)
2.4.3. Конструкция if – elif – else
Для реализации выбора из нескольких альтернатив
можно
использовать конструкцию if – elif – else.
if выражение_1: инструкции_(блок_1) elif выражение_2: инструкции_(блок_2) elif выражение_3: инструкции_(блок_3) else: инструкции_(блок_4)
Для примера добавим вариант нуля в программу с печатью модуля:
a = int(input()) if a<0: print(-a) elif a == 0: print("Zero!") else: print(a)
18
2.5. Циклы
Python оставляет возможность программисту использовать стан-
дартные циклы, принятые в таких языках как С:
i = 0 while i < 15: print(i) i = i + 2
Обратите внимание, что телом цикла является то, что выделено
символом табуляции в коде после двоеточия. Именно отступы яв­ляются крайне важным не только для оформления, но и для пра­вильного функционирования кода. Для
примера сравните результат выполнения со следующим кодом (после запуска потребуется при­нудительная остановка процесса исполнения):
i = 0 while i < 15: print(i) i = i + 2
Оператором for удобно проходить элементы списка. Приведем
пример кода для распечатки четных чисел в списке:
spis = [1, 2, 3, 4, 5, 6, 7, 8] for i in spis: if(i%2 == 0): print(i)
Функция range() позволяет вам генерировать ряд чисел в рамках
заданного диапазона и использовать его, например, для оператора
for i in range(1, 8): if(i%2 == 0): print(i)
Обратите внимание: цифры 8 в списке не будет, поскольку это
крайнее значение.
Также вы можете сгенерировать список:
data = [i for i in range(1, 8)] print(data)
19
for:
Помимо этого генерация может происходить и с условием:
data = [i for i in range(1, 8) if i % 2 == 0] print(data)
В зависимости от того, как много аргументов вы передаете функ­ции, вы можете решить, где этот ряд чисел начнется и закончится, а также насколько велика разница будет между двумя числами.
2.6. Строки
Строка в Python – это все, что содержится внутри кавычек, даже
внутри ничего нет (строка «пустая»):
если
'Hello' 'Goodbye' 'G' ' ' ''
Часто возникает вопрос о том, как правильно оформлять строки: в одинарных или двойных кавычках:
a = 'Hello' b = "Goodbye" print(a, b)
Ответ на этот вопрос таков: допустимо использовать любую удоб­ную запись. Но важно помнить: существуют специфические тексты и слова, использующие символ апострофа, и такие строки невозможно записать с
использованием одинарных кавычек, поскольку их количест-
во в строке станет нечетным, что приведет к возникновению ошибки:
str = 'men's health' print(str)
************************** File "<ipython-input-4-1b64bbea2990>", line 1 str = 'men's health' ^ SyntaxError: invalid syntax
Поэтому использование двойных кавычек является более универ­сальным методом:
str = "men's health" print(str)
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]