Файл: Разработка проекта для визуализации данных на языке Python.doc

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

Категория: Реферат

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

Добавлен: 24.10.2023

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

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

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Реферать


по дисциплине «Программирование на языке Python»




Тема: Разработка проекта для визуализации данных на языке Python

Содержание

Введение…………………………………………………………………………...4

1 Основные теоретические сведения.……………………………………………6

1.1 Язык программирования Python..……………………………………..6

1.2 Реляционные базы данных………………………………………...…..9

1.3 Графический интерфейс пользователя…………………………..…..11

2 Разбор кода программы…………………………………………………...…..13

Заключение……………………………………………………………………….21

Список использованных источников...…………………………………………23

Приложение А. Примеры работы программы…………………………………25
Введение

В данной работе будет рассматриваться создание программы с помощью относительно молодого языка программирования Python. Этот язык быстро набирает популярность благодаря своей гибкости и простоте использования. Его используют не только рядовые программисты, он так же актуален и в крупных компаниях таких как Google, Intel, Cisco и др. Несмотря на свою простоту, Python впитал в себя элементы многих языков программирования таких как C++, Java и др., поддерживает большинство существующих платформ, обеспечивая высокую скорость разработки приложений, что делает его очень эффективным. Python продолжает развиваться, являясь на данный момент довольно перспективным как для использования уже состоявшимися программистами, так и для изучения начинающими.

В современном мире базы данных используются повсеместно. Это обусловлено необходимостью работать с большими объемами информации практически во всех областях деятельности. Базы данных позволяют структурировать и систематизировать информацию, что облегчает и ускоряет работу с ней. Соответственно, перед многими разработчиками ставятся задачи по использованию баз данных в приложениях. Здесь у начинающих программистов могут возникнуть проблемы. Это связано с отсутствием достаточного количества учебных пособий, литературы и документации на русском языке, а понимание текстов на английском языке может вызвать затруднения, а именно на нем и написана большая часть источников. Понимание основ подключения к базам данных и работе с ними в выбранном языке программирования является актуальным вопросом. Далее в работе будут рассмотрены основы работы с базами данных на примере баз данных SQLite.


Прогресс не стоит на месте, информационные и компьютерные технологии развиваются, расширяются возможности языков программирования и вместе с тем растут требования к разрабатываемым программам. Современного пользователя уже не устроит программа, работающая в консоли и управляемая текстовыми командами. Теперь программа должна быть не только эффективной, но и максимально удобной в использовании для любого человека, вне зависимости от его уровня знаний в области информационных технологий и программирования. Задача разработчика – обеспечить для рядового пользователя возможность управлять базой данных, не вникая в весь процесс взаимодействия с ней. Для выполнения этой задачи существует графический интерфейс пользователя –Graphical User Interface или, сокращенно, GUI. При создании GUI-приложения необходимо уметь не только создать удобную графическую оболочку для программы, но и связать эту оболочку с действиями, которые будет выполнять программа. В данной работе будут рассмотрены несколько базовых элементов GUI и их привязка к конкретным действиям.

Целью работы является создание программы на языке Python, которая будет работать с базой данных, содержащей информацию о преподавателях. В рамках поставленной цели будут рассмотрены и реализованы следующие задачи:

  • подключение к готовой базе данных;

  • добавление, удаление и редактирование записей в базе данных;

  • поиск и выборка по базе данных;

  • разработка визуального интерфейса для удобного выполнения поставленных выше задач.

Объектом исследования данной работы является создание визуального интерфейса для работы с базой данных, предметом исследования данной работы является использования языка программирования Python для работы с базой данных.

1 Основные теоретические сведения

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

Python – это кросс-платформенный интерпретируемый объектно-ориентированный язык программирования высокого уровня. Так как Python является объектно-ориентируемым языком, почти все данные, включая даже типы данных, являются объектами. В переменных сохраняется не сам объект, а ссылка на него [1].

Интерпретатор Python реализован почти для всех платформ и операционных систем. Благодаря этому Python позволяет писать переносимые программы. При этом он не имеет недостатков аналогичных переносимых языков программирования. Например, типы данных С++ на разных платформах могу занимать очень разное количество памяти. Отсутствие необходимости переписывать код программы при переносе ее с одной платформы или ОС на другую является большим плюсом в пользу Python’а при выборе языка программирования.



В этом языке программирования преобладает минималистический подход. В Python’е как правило есть один очевидный и наиболее простой путь решения поставленной задачи и небольшое количество неочевидных, в то время как в аналогичных языках одна и та же задача имеет несколько альтернативных путей решения. Так же Python является обладателем наиболее простого и удобочитаемого синтаксиса [2].

Благодаря минималистическому подходу в программном обеспечении, Python имеет высокую скорость разработки. Код программы, написанной на этом языке, намного короче, чем альтернативный код на других языках. Например, в сравнении с C++ код Python’а меньше примерно на треть [2]. Сокращение размеров кода и сложности его синтаксиса существенно экономит время разработчика, начиная с непосредственно написания кода, заканчивая его отладкой. Помимо этого код Python’а просто выглядит более эстетично и приятно глазу, и намного легче разобрать код, написанный другим человеком.

Важной чертой Python’а так же является его расширяемость. Он имеет довольно обширные и переносимые стандартные библиотеки, но помимо этого позволяет добавлять библиотеки сторонних разработчиков или разработанные самостоятельно.

Возможности Python’а обширны. С его помощью можно создавать программы для системного администрирования, так как он имеет встроенные интерфейсы доступа к службам операционных систем, можно разрабатывать графический интерфейс приложений. Благодаря встроенным интернет-модулям возможно создавать сетевые программы. Так же Python имеет интерфейсы доступа к основным реляционным базам данных. И это далеко не весь список возможностей этого языка, в него можно так же включить программирование игр, математических вычислений, работа с xml-документами и много другое вплоть до разработки искусственного интеллекта [2].

Основные типы данных языка Python:

  • логический;

  • числовой;

  • строковый;

  • списки;

  • кортежи;

  • множества;

  • словари.

Логический тип данных может принимать одно из двух значений – True(истина) или False(ложь).

Числовой тип данных включает в себя целые (integer), вещественные (float) и комплексные (complex) числа.

Строковый тип представляет из себя последовательности символов.

Списки – это упорядоченные последовательности значений произвольных типов.

Кортежи – это упорядоченные неизменяемые последовательности значений произвольных типов.


Множества – неупорядоченные наборы значений.

Словари – это отображения, коллекция объектов, доступ к которым осуществляется по ключам.

Для написания программы в данной работе потребуются следующие типы данных: логический, числовой, строковый, списки и кортежи.

Основные конструкции языка Python: функции и классы.

Функции – это изолированные от остальной программы участки кода, они выполняются только когда вызываются и позволяют использовать один и тот же набор инструкций несколько раз. Функции позволяют избежать лишнего дублирования кода, уменьшают и упрощают его, позволяют разбить выполнение сложной задачи на функциональные составляющие. Функции могут принимать параметры (но необязательно), возвращать значение (тоже необязательно). Код функции обязательно должен размещаться до места ее вызова. Описание функции начинается со слова def, далее идет имя функции и в скобках принимаемые ею параметры, завершается строка двоеточием. Далее идет оформленное в виде блока с отступом тело функции – описание тех действий, которые функция должна выполнить [2,3].

Классы представляют собой программные компоненты, которые используются для реализации новых типов объектов. Классы являются основными инструментами объектно-ориентированного программирования в языке Python. С помощью классов код разбивается на составляющие, и новая программа пишется с помощью адаптации существующего кода, а не полного его изменения. Классы поддерживают наследование: дочерний класс наследует все атрибуты родительского. Основное назначение классов – создание новых объектов и манипуляция ими [2].

1.2 Реляционные базы данных

Базы данных (далее БД) создаются для систематизирования и структурирования больших объемов информации, чтобы потом извлекать необходимые данные быстро и в любых сочетаниях. Реляционная база данных – это связанная информация, хранящаяся в двумерных таблицах. Ячейки таблицы являются пересечением строк и столбцов. В БД каждый столбец имеет свое ключевое имя, по которому и происходит обращение к нужному столбцу или элементу в столбце.

Системы управления базами данных (СУБД) – это программное обеспечение для создания, поддержки БД и доступа к ней. В данной работе будет использоваться СУБД SQLite3, так как язык программирования Python имеет встроенный модуль для работы с SQLite3 и она является наиболее удобной для знакомства с программированием баз данных. SQLite3 поддерживает следующие типы данных: целые числа (integer), вещественные числа (real), строковый тип (text), бинарные данные (blob).


Доступ к БД осуществляется с помощью объекта-соединения. Объект-соединение получают путем вызова функции connect( ). Если указанной БД для него не существует, то она будет создана. Объект-соединение имеет следующие методы:

  • close( );

  • commit( );

  • rollback( );

  • cursor( ).

Метод close( ) закрывает соединение с текущей БД [4].

Метод commit( ) завершает транзакцию и сохраняет изменения. Транзакция – это одна или несколько операций, изменяющих БД [4].

Метод rollback( ) откатывает начатую транзакцию и восстанавливает исходное состояние БД [4].

Метод cursor( ) возвращает объект-курсор, использующий данное соединение. Курсор хранит информацию о текущей таблице и записи, может быть связан с выполнением только одного SQL-запроса в текущий момент времени, служит для работы с результатами запроса [4].

Для работы с БД в программе будет использован атрибут объекта курсора execute( ), который преобразовывает SQL-команду в строке в исполняемый код.

Основные SQL-команды:

  • создание таблицы в БД – CREATE TABLE <имя таблицы> (<имя поля 1 тип поля>, <имя поля 2 тип поля>, …);

  • добавление записи в таблицу БД – INSERT INTO <имя таблицы> VALUES (‘<значение 1>’, ‘<значение 2>’, …);

  • выборка из таблицы БД по условию – SELECT (список полей, включенных в выборку) FROM <имя таблицы> WHERE <имя поля > = <значение>;

  • выборка из таблицы БД с сортировкой – SELECT (список полей, включенных в выборку) FROM <имя таблицы> ORDER BY <имя поля, по которому производится сортировка>;

  • удаление записей из таблицы БД по условию – DELETE FROM <имя таблицы> WHERE <имя поля> = <значение>;

  • изменение записей в таблице БД по условию – UPDATE <имя таблицы> SET <имя изменяемого поля> = <новое значение> WHERE <имя поля> = <значение>.

Результаты выборок передаются в виде кортежей.

1.3 Графический интерфейс пользователя

Графический интерфейс пользователя (в дальнейшем GUI) позволяет осуществлять взаимодействие человека с программой в форме диалога с использованием окон, меню и элементов управления (диалоговых панелей, кнопок и т. д.) вместо использования текстовых команд. В настоящее время программы, написанные без использования GUI не актуальны. Разработано много различных вариантов GUI со своими достоинствами и недостатками, поддерживающих различные языки программирования.

Для языка Python существует много различных GUI-библиотек, их полный список представлен на официальном сайте. Наиболее проверенными и популярными кросс-платформенными библиотеками являются PyQt и Tkinter. PyQt является привязкой Qt к языку Python. Qt помимо классов графического интерфейса содержит много различных модулей, Tkinter – исключительно GUI. Tkinter более старая и ограниченная библиотека, чем Qt. PyQt более универсален, чем Tkinter, подходит для проектов высокой сложности, имеет более широкую базу компонентов и более красивый их внешний вид, по нему легче найти документацию примеры использования. По результатам сравнения для разработки визуального интерфейса было решено использовать в данной программе PyQt [11].