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

Язык Python в медицинских системах искусственного интеллекта. Ч.1. Введение в программирование на языке Python. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
853 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Национальный исследовательский ядерный университет «МИФИ»

К.А. Либерис, С.А. Жиделёва, М.Д. Макаров, В.Г. Никитаев, О.В. Нагорнов

ЯЗЫК PYTHON

В МЕДИЦИНСКИХ СИСТЕМАХ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

Часть 1: Введение в программирование на языке Python

Под редакцией профессора В.Г. Никитаева

Москва 2024

УДК 004.43:004.8:61(075.8) ББК 32.973.26-018.1я7 Я 41

Язык Python в медицинских системах искусственного интеллекта. Ч. 1. Введение в программирование на языке Python: Учебное пособие /

К.А. Либерис, С.А. Жиделёва, М.Д. Макаров, В.Г. Никитаев, О.В. Нагорнов / Под ред. В.Г. Никитаева. – М.: НИЯУ МИФИ, 2024. – 92 с.

В первой части учебного пособия рассмотрены основы языка программирования Python, все необходимые конструкции и библиотеки. Разобраны решения практических задач.

Пособие написано на основе актуальных учебных программ и предназначено для обучения в бакалавриате и магистратуре по направлениям подготовки «Биотехнические системы и технологии».

Данное пособие также предназначено для студентов технических вузов, которые хотят развиваться в области медицинских изображений.

Рецензенты: профессор, д-р физ.-мат. наук В.А. Галкин профессор, д-р физ.-мат. наук А.М. Загребаев

ISBN 978-5-7262-3117-4

© Национальный исследовательский

 

ядерный университет «МИФИ», 2024

ОГЛАВЛЕНИЕ

1. ВВЕДЕНИЕ .........................................................................................

7

1.1. Основы программирования ......................................................

7

1.1.1. История развития программирования. Терминология. ........

7

1.1.2. Значение программирования в современной жизни:............

8

1.2. Языки программирования: обзор и классификация............

8

1.2.1. Низкоуровневые языки............................................................

8

1.2.2. Высокоуровневые языки .........................................................

8

1.2.3. Компилируемые и интерпретируемые языки........................

8

1.2.4. Обзор популярных языков программирования.....................

9

1.3. Алгоритмы и их роль в программировании..........................

9

1.3.1. Свойства алгоритмов...............................................................

9

1.3.2. Представление алгоритмов .....................................................

9

1.3.3. Примеры простых алгоритмов................................................

9

1.4. Почему язык Python?................................................................

10

1.4.1. История создания:..................................................................

10

1.4.2. Особенности языка: ...............................................................

11

1.5. Обработка изображений в современной науке....................

12

1.5.1. Роль обработки изображений в современной науке...........

12

1.5.2. Применение в технических науках.......................................

13

1.6. Обзор популярных библиотек для обработки изображений

Python......................................................................................................

14

1.6.1. Pillow.......................................................................................

14

1.6.2. OpenCV....................................................................................

14

1.6.3. Matplotlib и SciPy: ..................................................................

14

2. PYTHON БАЗОВЫЕ ЗНАНИЯ............................................................

15

2.1. Переменные и типы данных....................................................

15

2.1.1. Переменные и присваивание.................................................

15

3

 

2.1.2. Числовые типы данных..........................................................

15

2.1.3. Строки и операции с ними ....................................................

16

2.1.4. Булевы значения и логические операции.............................

16

2.2. Операторы и выражения .........................................................

16

2.2.1. Арифметические операторы..................................................

16

2.2.2. Операторы сравнения ............................................................

17

2.2.3. Логические операторы...........................................................

17

2.2.4. Приоритет операторов...........................................................

17

2.3. Условные конструкции............................................................

18

2.3.1. Оператор If..............................................................................

18

2.3.3. Вложенные условия...............................................................

18

2.4. Циклы..........................................................................................

19

2.4.1. Цикл for...................................................................................

19

2.4.2. Цикл while...............................................................................

19

2.4.3. Управление циклом: break и continue...................................

19

2.5. Структуры данных....................................................................

20

2.5.1. Списки.....................................................................................

20

2.5.2. Кортежи...................................................................................

20

2.5.3. Словари...................................................................................

20

2.5.4. Множества ..............................................................................

21

2.6. Функции......................................................................................

21

2.6.1. Определение и вызов функции.............................................

21

2.6.2. Параметры и аргументы........................................................

21

2.6.3. Рекурсия..................................................................................

22

2.7. Практика.....................................................................................

22

2.7.1. Примеры решения задач........................................................

22

2.7.2. Теоретические вопросы.........................................................

25

2.7.3. Переменные и типы данных..................................................

25

2.7.4. Циклы......................................................................................

26

2.7.5. Функции..................................................................................

27

4

 

3. УГЛУБЛЕННОЕ ИЗУЧЕНИЕ PYTHON .............................................

29

3.1. Модули и пакеты.......................................................................

29

3.1.1. Стандартные модули Python .................................................

29

3.1.2. Создание собственных модулей ...........................................

30

3.1.3. Пакеты и их структура...........................................................

30

3.2. Работа с файлами.......................................................................

31

3.2.1. Открытие и закрытие файлов................................................

31

3.2.2. Работа с CSV и JSON файлами.............................................

33

3.3. Обработка исключений............................................................

34

3.3.1. Понятие исключений.............................................................

34

3.3.2. Блоки try, except, finally.........................................................

34

3.4. Объектно-ориентированное программирование.................

36

3.4.1. Классы и объекты...................................................................

36

3.4.2. Наследование..........................................................................

36

3.4.3. Полиморфизм .........................................................................

37

3.5. Генераторы и итераторы..........................................................

38

3.5.1. Итераторы в Python................................................................

38

3.5.2. Генераторы и yield .................................................................

39

3.5.3. Генераторные выражения......................................................

39

3.6. Декораторы.................................................................................

40

3.6.1. Понятие декораторов.............................................................

40

3.6.2. Создание собственных декораторов.....................................

40

3.7. Практика.....................................................................................

42

3.7.1. Теоретические вопросы.........................................................

42

3.7.2. Модули и пакеты....................................................................

42

3.7.3. Работа с файлами....................................................................

43

3.7.4. Обработка исключений..........................................................

43

3.7.5. Объектно-ориентированное программирование.................

44

3.7.6. Генераторы и итераторы........................................................

45

3.7.7. Декораторы.............................................................................

45

5

 

4. РАБОТА С БИБЛИОТЕКАМИ В PYTHON.........................................

47

4.1. os....................................................................................................

49

4.2. SYS................................................................................................

53

4.3. Random.........................................................................................

54

4.4. Datetime........................................................................................

56

4.5. Numpy...........................................................................................

60

4.6. Math..............................................................................................

65

4.7. Pandas...........................................................................................

68

4.8. Mathplotlib...................................................................................

73

4.9. Практика.....................................................................................

83

4.9.1. Теоретические вопросы.........................................................

83

4.9.2. Библиотека OS........................................................................

84

4.9.3. Библиотека SYS......................................................................

85

4.9.4. Библиотека Random ...............................................................

85

4.9.5. Библиотека Datetime ..............................................................

86

4.9.6. Библиотека Numpy.................................................................

86

4.9.7. Библиотека Math.....................................................................

87

4.9.8. Библиотека Pandas..................................................................

88

4.9.9. Библиотека Matplotlib............................................................

88

6

1. ВВЕДЕНИЕ

Цели изучения:

ознакомиться с основами программирования и понять роль Python в современных технологиях.

понять значение и важность обработки изображений в технических и медицинских областях.

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

Ожидаемые навыки:

понимание фундаментальных концепций программирования и алгоритмов.

представление о возможностях языка Python в сфере обработки изображений.

умениеустановитьинастроить рабочуюсреду дляразработки на Python.

1.1.Основы программирования

1.1.1. История развития программирования. Терминология.

Программирование — это процесс создания алгоритмов и их реализацииввидепрограмм,которыемогутбытьвыполненыкомпьютером.Это способ общения с машиной на языке, который она понимает, чтобы заставить ее выполнять определенные задачи.

История:

1940-е годы: Появление первых электронных компьютеров и машинных языков программирования.

1950-1960-е годы: Разработка первых высокоуровневых языков, та-

ких как Fortran и COBOL.

1970-1980-е годы: Появление языков C и Pascal, развитие структурного программирования.

1990-е годы и далее: Распространение объектно-ориентированных языков (C++, Java) и интерпретируемых языков (Python, JavaScript).

7

1.1.2. Значение программирования в современной жизни:

Программирование стало неотъемлемой частью многих сфер деятельности:

Медицина: Анализ данных пациентов, разработка программного обеспечения для медицинского оборудования.

Инженерия: Моделирование и симуляция инженерных систем. Наука: Обработка больших объемов данных, автоматизация исследований.

Бизнес: Создание приложений для управления процессами и анализом данных.

1.2.Языки программирования: обзор и классификация

1.2.1. Низкоуровневые языки

Машинный код: Бинарный код, непосредственно выполняемый процессором.

Ассемблер: Язык, представляющий машинные инструкции в более читаемом виде.

1.2.2. Высокоуровневые языки

Процедурные языки: C, Pascal. Объектно-ориентированные языки: Java, C++, Python. Функциональные языки: Haskell, Lisp.

1.2.3. Компилируемые и интерпретируемые языки

Компилируемые языки: Исходный код преобразуется в машинный код с помощью компилятора перед выполнением программы. Примеры: C, C++.

Интерпретируемые языки: Исходный код выполняется строка за строкой интерпретатором во время исполнения программы. Примеры: Python, Ruby.

8

1.2.4. Обзор популярных языков программирования

Python: Простота синтаксиса, широкие возможности, активное сообщество.

Java: Портируемость, используется для разработки корпоративных приложений.

C#: Разработан Microsoft, используется для создания приложений под

Windows.

JavaScript: Основной язык веб-программирования для создания интерактивных страниц.

1.3. Алгоритмы и их роль в программировании

Алгоритм — это упорядоченная последовательность конечных действий, направленных на решение определенной задачи.

1.3.1. Свойства алгоритмов

Дискретность: Разделение процесса на отдельные шаги. Определенность: Каждое действие точно описано и понятно. Конечность: Алгоритм должен завершаться за конечное число шагов. Результативность: Алгоритм должен приводить к решению задачи. Массовость: Возможность применения алгоритма к различным наборам данных.

1.3.2. Представление алгоритмов

Псевдокод: Текстовое описание алгоритма, близкое к языку программирования.

Блок-схемы: Графическое представление последовательности действий с использованием стандартных символов.

1.3.3. Примеры простых алгоритмов

Сортировка массива чисел: Алгоритмы пузырьковой сортировки, быстрой сортировки.

Поиск наибольшего общего делителя (НОД): Алгоритм Евклида.

Решение квадратных уравнений: Вычисление корней по формуле.

9

1.4. Почему язык Python?

1.4.1. История создания:

Язык программирования Python был создан Гвидо ван Россумом (Guido van Rossum) в конце 1980-х годов, а первая версия была выпущена в 1991 году. На тот момент ван Россум работал в Центре математики и информатики (CWI) в Нидерландах. Он стремился создать язык, который был бы простым в изучении и использовании, но при этом мощным и гибким.

Предыстория

Гвидо ван Россум участвовал в разработке языка ABC, который был предназначен для обучения программированию. Однако ABC не получил широкого распространения, и ван Россум решил создать новый язык, учитывающий недостатки предшественника.

Название языка

Название “Python” не связано со змеями. Ван Россум назвал язык в честь британской комедийной группы “Monty Python”, шоу которой он был большим поклонником. Он хотел, чтобы название было коротким, запоминающимся и несколько таинственным.

Развитие Python

1991 год: Выпуск первой версии Python 0.9.0. В ней были реализованы такие ключевые особенности, как классы с наследованием, обработка исключений, функции и модули.

1994 год: Выпуск Python 1.0, в котором появились функциональные инстру-

менты программирования — lambda, map, filter и reduce.

2000 год: Выпуск Python 2.0, который принес значительные улучшения, включая сборку мусора с подсчетом ссылок и поддержку Unicode. В этом же году был создан Python Software Foundation (PSF), некоммерческая организация, ответственная за развитие языка.

2008 год: Выпуск Python 3.0. Эта версия не была полностью обратно совместима с Python 2.x, что вызвало длительный переходный период в сообществе разработчиков.

Python сегодня

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]