Файл: Отчет по лб защита 20 2 40 Тест (КН1) 1 5 5 идз 1 3 3 Сумма 80 Экзамен max 20 баллов min 11 баллов.pdf

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 17

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
tpu.ru
Углубленный курс информатики
Лекция 1
Основы программирования на Python
7 февраля 2022 г.
Долганов Игорь Михайлович, к.т.н.,
доцент ОХИ ИШПР

2
Рейтинг-план
Вид учеб. деят-ти
Количество
Баллы
Итого
Лекции
12 1
12
Лаб. работы
20 1
20
Отчет по ЛБ + защита
20 2
40
Тест (КН1)
1 5
5
ИДЗ
1 3
3
Сумма:
80
Экзамен:
max = 20 баллов; min = 11 баллов.

Содержание
1. Язык программирования Python
2. Jupyter Notebook
3. Простейшая программа на Python
4. Имена идентификаторов
5. Динамическая типизация
6. Запись комментариев
7. Типы данных
8. Числовые типы
9. Арифметические операции с числами
10. Оператор ввода данных в Python
11. Пример

Язык программирования PYTHON

5
Язык программирования PYTHON
- высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью,
ориентированный на повышение производительности разработчика,
читаемости кода и его качества, а также на обеспечение кроссплатформенности написанных на нём программ.
Разработчик языка Python –
голландский программист
Гвидо ван Россум

6
Язык программирования PYTHON
Установка
1. Установить Python
(https://www.python.org/). В
OS X и Unix уже установлен.
2. Только для Windows. При установке выбрать опцию с заданием переменных окружения.
Среда разработки
1.
Jupyter Notebook из пакета
Anaconda
(https://www.anaconda.com/
products/individual
).
2. Текстовые редакторы: VS Code,
Sublime, Atom, Notepad++ и др.
3. IDE: PyCharm, Visual Studio,
Spyder и др.

7

Почему PYTHON?
Кто использует Python?

Google

YouTube

Dropbox

BitTorrent

iRobot

Netflix и Yelp

Intel, Cisco

NASA
Сильные стороны

Качество программного кода

Продуктивность труда

Кроссплатформенность

Библиотеки

JUPYTER NOTEBOOK

9
Среда разработки Jupyter Notebook
• Чтобы начать работу с новым блокнотом щелкните по кнопке
New и выберите ядро Python 3. Произойдет открытие новой вкладки браузера с содержанием интерфейса в котором Вы будете писать код и устанавливать соединение с ядром IPython.
• Новый блокнот содержит заголовок, панель меню и панели инструментов под которыми располагается окно ввода командной оболочки
IPython, в которое нужно вводить код и команды разметки текста (например,
для пояснений и документации) как последовательность ячеек (cells):


Простейшая программа на PYTHON

11
Простейшая программа на Python
Простейшей программой на языке Python является пустой файл с расширением
.py
, однако рассмотрим традиционную реализацию программы, выводящей на экран сообщение «Привет Мир!»:
1
p r i n t
(
"Привет Мир! "
)
2
Для вывода на экран сообщения «Привет Мир!» достаточно обратиться к стандартной функции print() и передать ей в качестве параметра строку "Привет Мир!"

Имена идентификаторов

13
Имена идентификаторов

Переменные – это частный случай идентификаторов.

Идентификаторы – это имена, присвоенные чему-то для его обозначения.
При выборе имен идентификаторов необходимо соблюдать следующие правила:
1. Первым символом идентификатора должна быть буква из алфавита
(символ ASCII в верхнем или нижнем регистре, или символ Unicode), а также символ подчеркивания («_»);
2. Остальная часть идентификатора может состоять из букв (символы ASCII
в верхнем или нижнем регистре, а также символы Unicode), знаков подчеркивания «_» или цифр (0 − 9);
3. Имена идентификаторов чувствительны к регистру!
Допустимые имена:
i
, __my_name, name_23, a1b2_c3
Недопустимые имена:
2things
, my-name, >a1b2_c3

14
Имена идентификаторов
Определяемые Вами имена не могут совпадать с ключевыми словами в Python.
К примеру, если Вы попытаетесь выбрать для переменной имя class
, то
Python сообщит об ошибке.
Ключевые слова в 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

Динамическая типизация

16
Многократное присваивание переменной

Переменные никогда не располагают какой-либо информацией о типах или связанных с ними ограничениях.

Понятие типа связано с объектами, а не именами.

Переменные являются обобщенными по своей сути и просто ссылаются на определенные объекты в конкретный момент времени.
1
x = 1 2
x =
" H e l l o "
3
x = 1.2 4

Если переменная используется в каком-то выражении, то при его вычислении она заменяется объектом, ссылкой на который она является.

Все переменные должны быть присвоены чему либо до того, как их можно будет использовать; использование неприсвоенных переменных приведет к ошибке!

17
Ссылочная модель данных
В момент, когда происходит присваивание значений переменной:
a = 5
фактически происходит выполнение трех шагов:
1. Создание объекта для представления значения 5.
2. Создание переменной a
3. Связывание переменной a
с новым объектом 5.
a
5
Имена
Ссылки
Объекты


18
Сборка мусора
В Python при присваивании имени нового объекта происходит освобождение области памяти, занимаемой предыдущим объектом, если на него не ссылается другое имя или объект. Данная операция известна как сборка мусора
:
1
> > >
x = 32 2
> > >
x =
" h e l l o "
#
Освободить память, занимаемую 32 3
#
(если нет других ссылок)
4
> > >
x = 3 . 1 2 4 5
#
Освободить память, занимаемую "hello"
5
> > >
x = [0 , 1 , 2 , 3]
#
Освободить память, занимаемую 3.1245 6
Неоспоримое преимущество сборки мусора заключается в том, что она позволяет свободно использовать объекты без необходимости выделения и освобождения памяти вручную. Python будет автоматически выделять или очищать пространство для хранения объектов при выполнении программы.

19
Разделяемые ссылки
Рассмотрим создание разделяемых ссылок:
1
> > >
a = 5 2
> > >
b = a
3
a =
5
b = a a
b
5
Имена
Ссылки
Объекты
Такой контекст в Python со множеством переменных, ссылающихся на один и тот же объект, называется разделяемой ссылкой
(иногда говорят разделяемый объект
).
Стоит обратить внимание, что при этом имена a и b не связаны друг с другом напрямую.

20
Разделяемые ссылки
Добавим еще один оператор:
1
> > >
a = 5 2
> > >
b = a
3
> > >
a =
" h e l l o ! "
4
Последний оператор просто создает новый объект для представления строкового значения "hello!" и переопределяет ссылку a на этот новый объект.
Но все это не отражается на значении b, она по- прежнему продолжает ссылаться на первоначальный объект, целое число 5.
a =
5
b = a a = ‘hello!’
a b
5
Имена
Ссылки
Объекты
‘hello!’

Запись комментариев

22
Запись комментариев
Комментарии
– это то, что пишется после # и представляет интерес лишь как заметка для читающего программу. Текст программы говорит о том, КАК, а комментарии должны объяснять, ПОЧЕМУ.
1
p r i n t
(
"Привет Мир! "
)
#
print - это функция
2

Комментарии могут встречаться в тексте программы как отдельные строки или могут быть размещены справа от операторов в строке.

Текст после символов # пропускается интерпретатором как примечание,
предназначенное для человека, читающего данную программу.

При копировании кода Вы можете игнорировать комментарии, т.к. они носят исключительно информативный характер.

Грамотное использование комментариев может в значительной степени повысить читаемость, облегчить понимание и, как следствие, улучшить поддерживаемость Вашего программного кода.


Типы данных

24
Классификация объектов
Основные типы объектов в Python:
Тип объекта
Категория

Изменяемый?
Числа (все)
Числовые
Нет
Строки
Последовательности
Нет
Списки
Последовательности
Да
Словари
Отображения
Да
Кортежи
Последовательности
Нет
Файлы
Расширения
-
Множества
Множества
Да

Числовые типы

26
Числовые литералы
Числа в Python могут быть трех типов:
1. Целые числа (int);
2. Числа с плавающей точкой (float);
3. Комплексные числа (complex).
Литерал
Расшифровка
1234, −24, 0, 99999999999999999
Целые числа (неограниченный размер)
1.23, 1., 3.17e-10, 4E210, 4.0e+210
Числа с плавающей точкой
3+4j, 3.0+4.0j, 3J
Литералы комплексных чисел

27
Целые числа и числа с плавающей точкой

Целые числа записываются в виде строк десятичных цифр.

Числа с плавающей точкой имеют десятичную точку и/или необязательный показатель степени со знаком, вводимый посредством нотации e или E.

Целые числа можно создавать, используя встроенную функцию int
, а числа с плавающей точкой – при помощи встроенной функции float
:
1
>>>
x = 2.5 2
>>>
y = 1 3
>>>
z = 2.
4
>>>
type
(x)
#
Число с плавающей точкой
5
<
class
'float'
>
6
>>>
type
(y)
#
Целое число
7
<
class
'int'
>
8
>>>
type
(z)
#
Тоже число с плавающей точкой
9
<
class
'float'
>
10
>>>
int
(x)
#
Получение целого числа отбрасыванием дробной части
11 2
12
>>>
float
(y)
#
Приведение целого числа к типу float
13 1.0

28
Комплексные числа
Комплексные числа в Python записываются как действительная_часть + мнимая_часть где мнимая_часть заканчивается символом j или J.
Комплексные числа можно создать при помощи встроенной функции complex
(real, imag)
:
1
> > >
x = 2.5 2
> > >
y = 0.85 3
> > >
c o m p l e x
( x , y )
4
(2.5
+
0.85 j )

Арифметические операции с числами

30
Арифметические операции с числами
Основные арифметические операции с числами:
Приоритет
Операция
Описание
1
x
+
y
Сложение
2
x
- y
Вычитание
3
x

y
Умножение
4
x
%
y
Остаток от деления (деление по модулю)
5
x
/
y
,
x
//
y
Настоящее деление,
деление нацело
(с округлением в меньшую сторону)
6
- x
,
+
x
Противоположность, идентичность
7
x
∗∗
y
Возведение в степень

Если операция используется с двумя операндами, она называется бинарной

Существуют также операции с одним операндом, называемые унарными


31
Составные выражения
Подобно другим языкам программирования, сложные выражения в Python записываются путем объединения арифметических операций. Например,
определение суммы двух произведений можно представить в виде комбинации переменных и операций:
a · b + c · d
Значения подобных и еще более сложных выражений интерпретатор Python будет вычислять в соответствии с приоритетом операций

32
Круглые скобки в выражениях
Заключение подвыражений в круглые скобки переопределяет приоритеты операций
Python; выражения в круглых скобках во всех случаях вычисляются первыми и затем их результаты используются в охватывающих выражениях.
(x + y ) · z x + (y · z)

В первом случае операция
+
применится к переменным x
и y
первой, потому что это действие помещено в круглые скобки.

Во втором случае первой выполняется операция

, так же, как если бы круглые скобки отсутствовали.

В большинстве случаев добавление скобок в объемные составные выражения является хорошим тоном, т.к. не только обеспечивает правильный порядок его вычисления, но и помогает в обеспечении лучшей читабельности.

33
Операции с числами разных типов
В Python допускается использовать в выражениях различные числовые типы.
Например, можно сложить целое число и число с плавающей точкой:
30 + 3.14
Целые числа проще чисел с плавающей точкой, которые проще, чем комплексные числа. Таким образом, если операция выполняется над целым числом и числом с плавающей точкой, то целое число приводится к значению с плавающей точкой и результат вычисляется тоже как число с плавающей точкой:
1
>>>
30
+
3.14
#
Преобразование целого числа в число с плавающей точкой
2
#
результат вычисления тоже число с плавающей точкой
3 33.14
Типы также можно преобразовать вручную, вызвав встроенные функции:
1
>>>
int
(30.145)
#
Сокращение числа с плавающей точкой до целого
2 30 3
>>>
float
(6)
#
Преобразование целого числа в число с плавающей точкой
4 6.0

34
Операции деления

Классическое (настоящее) деление
– деление с сохранением остатка:
x / y

Деление с округлением в меньшую сторону
– данная операция всегда усекает дробные остатки, округляя в меньшую сторону не зависимо от типов операндов.
Тип результата зависит от типов операндов.
x // y
1
>>>
100
/
40
#
Сохраняет остаток
2 2.5 3
>>>
100
/
40.0 4
2.5 5
>>>
100
//
40
#
Усекает остаток, возвращает целое число
6 2
7
>>>
100
//
40.0
#
Округляет в меньшую сторону, вовращает число с
8
#
плавающей точкой
9 2.0