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

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

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

Python стал одним из самых популярных языков программирования в мире. Его используют в веб-разработке, науке о данных, искусственном интеллекте, автоматизации, обучении и многих других областях. Ключевые причины популярно-

сти Python:

простота и читаемость кода: Синтаксис Python интуитивно понятен, что облегчает изучение языка новичками.

большое сообщество и экосистема: Существует множество библиотек и фреймворков, которые расширяют функциональность Python.

мультиплатформенность: Python работает на большинстве современных операционных систем.

Вклад Гвидо ван Россума

Гвидо ван Россум долгое время был бессменным лидером проекта Python и носил неофициальный титул “Великодушного пожизненного диктатора”

(Benevolent Dictator for Life, BDFL). В 2018 году он отошел от руководства проек-

том, передав обязанности руководящему совету.

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

Простота и читаемость синтаксиса: Использование отступов для определения блоков кода.

Динамическая типизация: Типы переменных определяются во время выполнения программы.

Интерпретируемость: Код выполняется без предварительной компиляции.

Высокоуровневые встроенные структуры данных: Списки, словари, множества.

Преимущества Python:

быстрое прототипирование и разработка.

кроссплатформенность: работает на Windows, macOS, Linux.

обширная стандартная библиотека и множество сторонних пакетов.

активное сообщество и большое количество учебных ресур-

сов. Сферы применения:

● веб-разработка: Django, Flask.

11

научные вычисления и анализ данных: NumPy, SciPy, pandas.

машинное обучение и искусственный интеллект: TensorFlow, PyTorch.

автоматизация и скрипты.

обработка изображений и компьютерное зрение: OpenCV, Pillow.

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

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

Диагностические методы:

● магнитно-резонансная томография (МРТ):

o используется для получения подробных изображений внутренних органов.

oобработка изображений помогает в выявлении опухолей, повреждений тканей.

компьютерная томография (КТ):

oпозволяет получать послойные изображения тела.

oприменяется для диагностики травм, заболеваний органов.

ультразвуковые исследования:

oиспользование звуковых волн для визуализации внутренних структур.

oбезопасный метод для наблюдения за развитием плода. Автоматический анализ изображений:

выделение патологий:

oиспользование алгоритмов для обнаружения аномалий.

oпомощь врачам в ранней диагностике заболеваний.

классификация тканей:

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

oважна для планирования хирургических вмешательств.

трехмерная реконструкция органов:

oсоздание 3D-моделей на основе серии 2D-снимков.

oулучшает понимание сложных анатомических структур. Телемедицина:

12

● удаленная диагностика:

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

oулучшение доступности медицинской помощи.

обмен медицинскими изображениями:

oстандартизация форматов (например, DICOM) для совместимости между системами.

oОблегчает совместную работу и исследования.

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

Машиностроение и материаловедение: ● дефектоскопия:

oобнаружение трещин, пустот и других дефектов в материалах.

oиспользование методов неразрушающего контроля.

анализ микроструктуры материалов:

oизучение структуры металлов, сплавов и композитов.

oпомогает в улучшении свойств материалов. Робототехника и компьютерное зрение:

навигация и ориентация в пространстве:

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

oпостроение карт местности и препятствий.

распознавание объектов и препятствий:

oидентификация и классификация объектов в окружении.

oобеспечение безопасного взаимодействия с окружающей средой.

Аэро- и космические исследования: ● анализ спутниковых снимков:

oмониторинг земной поверхности, погодных условий.

oприменяется в метеорологии, географии, экологии.

мониторинг окружающей среды:

oотслеживание изменений в экосистемах.

oобнаружение загрязнений и стихийных бедствий.

13

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

Python

1.6.1. Pillow

Основные возможности:

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

преобразования: изменение размера, поворот, обрезка.

применение фильтров и эффектов.

Поддержка форматов:

● JPEG, PNG, BMP, GIF, TIFF и другие.

1.6.2. OpenCV

Широкий функционал:

обработка изображений и видео.

компьютерное зрение: обнаружение объектов, распознавание лиц.

Поддержка видео и реального времени:

захват видео с камер.

обработка потокового видео.

Интеграция с библиотеками машинного обучения:

● возможность использования с TensorFlow, PyTorch.

1.6.3. Matplotlib и SciPy:

Визуализация данных:

построение графиков, диаграмм.

отображение изображений. Аналитические возможности:

обработка сигналов.

применение математических функций и статистических методов.

14

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

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

изучить синтаксис и базовые конструкции языка python.

научиться работать с основными типами данных и операторами.

освоить принципы структурированного программирования. Ожидаемые навыки:

умение писать простые программы на python.

понимание работы с переменными, типами данных и операторами.

навыки использования условных конструкций и циклов.

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

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

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

должны начинаться с буквы или символа подчеркивания _.

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

регистр имеет значение (age и age — разные переменные).

Оператор присваивания =:

присваивает значение переменной.

синтаксис: имя_переменной = значение.

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

Целые числа (int):

представляют собой целые числа без дробной части.

примеры: 0, 42, -7.

Числа с плавающей точкой (float): ● числа с дробной частью.

примеры: 3.14, 0.001, -2.5.

Операции с числами:

арифметические операции: +, -, *, /, //, %, **.

15

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

Строковый тип данных (str):

последовательность символов, заключенных в кавычки

('...', "...").

Конкатенация строк:

объединение строк с помощью оператора +.

пример: 'hello' + ' ' + 'world' дает 'hello world'.

Повторение строк:

оператор * повторяет строку заданное число раз.

пример: 'ha' * 3 дает 'hahaha'.

Индексация и срезы:

доступ к символам по индексу: строка[индекс].

срезы позволяют получить подстроку: строка[начало:ко-

нец:шаг].

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

Булевы типы (True, False):

представляют логические значения истины и лжи. Логические операторы:

and: истина, если оба операнда истинны.

or: истина, если хотя бы один операнд истинен.

not: логическое отрицание.

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

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

Равно ==: проверяет равенство значений. Не равно !=: проверяет неравенство.

Больше >: проверяет, больше ли первое число второго. Меньше <: проверяет, меньше ли первое число второго.

Больше или равно >=: проверяет, больше или равно ли первое число второму.

Меньше или равно <=: проверяет, меньше или равно ли первое число второму.

16

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

Равно ==: проверяет равенство значений. Не равно !=: проверяет неравенство.

Больше >: проверяет, больше ли первое число второго. Меньше <: проверяет, меньше ли первое число второго.

Больше или равно >=: проверяет, больше или равно ли первое число второму.

Меньше или равно <=: проверяет, меньше или равно ли первое число второму.

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

and, or, not: используются для комбинирования логических выражений.

Примеры:

if age > 18 and age < 65: if not is_student:

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

Порядок выполнения операций:

1.скобки ()

2.возведение в степень **

3.унарные плюсы и минусы +x, -x

4.умножение, деление, остаток от деления *, /, //, %

5.сложение и вычитание +, -

6.операторы сравнения ==, !=, >, <, >=, <=

7.логические операторы not, and, or Использование скобок:

● рекомендуется использовать скобки для явного указания порядка операций.

● пример: (a + b) * c

17

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

2.3.1. Оператор If

Синтаксис:

If условие: блок_кода

Использование:

выполняет блок кода, если условие истинно.

отступы важны для определения блока кода.

2.3.2.Оператор else и elif

else:

выполняет блок кода, если предыдущее условие if ложно.

синтаксис:

if условие: блок_кода_если_истинно

else:

блок_кода_если_ложно

elif:

проверяет дополнительное условие, если предыдущее if ложно.

синтаксис:

if условие1: блок_кода1 elif условие2: блок_кода2

else:

блок_кода3

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

Создание сложных логических структур:

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

пример:

18

if условие1: if условие2:

блок_кода

2.4. Циклы

2.4.1. Цикл for

Итерация по последовательностям: ● синтаксис:

for переменная in последовательность: блок_кода

Функция range():

генерирует последовательность чисел.

примеры:

range(5) генерирует числа от 0 до 4. range(1, 6) генерирует числа от 1 до 5.

2.4.2.Цикл while

Выполнение цикла до тех пор, пока условие истинно: ● синтаксис:

while условие: блок_кода

Предостережения:

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

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

break:

прерывает выполнение цикла полностью.

применяется для выхода из цикла при наступлении опреде-

ленного условия. continue:

● прерывает текущую итерацию и переходит к следующей.

19

используется для пропуска определенных шагов внутри цикла.

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

2.5.1. Списки

создание и инициализация:

o

пустой список: my_list = []

o

с элементами: my_list = [1, 2, 3]

● доступ к элементам:

oпо индексу: my_list[0] — первый элемент.

oотрицательные индексы: my_list[-1] — последний элемент.

срезы:

omy_list[1:3] — элементы со второго по третий.

основные методы:

oappend(): добавляет элемент в конец списка.

oremove(): удаляет первый найденный элемент.

opop(): удаляет элемент по индексу и возвращает его.

2.5.2. Кортежи

Особенности:

неизменяемые последовательности.

создаются с помощью круглых скобок: my_tuple = (1, 2, 3)

Использование:

хранение данных, которые не должны изменяться.

быстрее списков при больших объемах данных.

2.5.3. Словари

Пары ключ-значение:

● создание:my_dict = {'ключ1': 'значение1', 'ключ2': 'значение2'}

20

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