Поддержка  •  Дневник  •  Без рекламы  •  О сайте  •  Реклама  •  Поставить баннер  •  Fleshlight  •  Прислать  •  Хроника  •  Translate Гости: 4    Участники: 0 Авторизация Авторизация   Регистрация 
Метод Научного Тыка
RULVEN
Поиск  
Blackball iMag | интернет-журнал
Amerikas Auto
Разделы


Реклама
Начало » Разработка ПО » Модуль, пакет, библиотека, фреймворк: разбираемся в разнице

Модуль, пакет, библиотека, фреймворк: разбираемся в разнице


Модуль, пакет, библиотека, фреймворк: разбираемся в разнице
Добавлено: Пн 20.11.2023 (Sergeant)
Автор: Елена Капаца
Источник: источник
Просмотров: 223
Комментарии: 0


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

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

Запутаться в них новичку легко. Так что в этой статье я объясню, в чем разница между ними. Условно можно обозначить их взаимоотношения с помощью этой диаграммы:

Модуль, пакет, библиотека, фреймворк: разбираемся в разнице


Модуль (Module)

Модуль в Python — это логически обособленный сниппет в отдельном файле .py. Если вы хотите порядка в своем коде, рекомендую их использовать.

Достоинства модулей в том, что они:

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

Давайте разберем их на примере. Создадим функцию приветствия:

def welcome_message(course):
    print("Спасибо, что выбрали курс «" + course + "». Скоро вы получите письмо с расписанием.")

Сохранив ее в welcome.py, мы создадим модуль. Если welcome_message() понадобился, его импортируем директивой:

import welcome
welcome.welcome_message("Основы Data Science")

Сообщение будет выглядеть так:

Спасибо, что выбрали курс «Основы Data Science». Скоро вы получите письмо с расписанием.

Обычно в модуле определяется множество разных элементов. Но мы можем импортировать только одну конкретную функцию:

from welcome import welcome_message

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

Пакет (Package)

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

Это каталоги модулей с иерархической структурой пространства имен. Точно так же, как мы раскладываем файлы на жестком диске по папкам и субдиректориям, можно организовать модули в пакеты и «подпакеты» (subpackages).

Пакет должен содержать файл с именем __init__.py, который и позволяет использовать каталог.

Модуль, пакет, библиотека, фреймворк: разбираемся в разнице

Пакет Writing (писательство) и его модули Books (книги) и Article (статьи)

В мире пакетов для Python есть немало «звезд», о которых вы наверняка слышали:

  • numpy — для научных вычислений;
  • pandas — для обработки табличных данных;
  • pytest — для тестирования.

Если классическое веб-приложение активно использует всевозможные компоненты, то в Data Science скачок на пакеты происходит на первых же уроках, и модули проходят вскользь.

В Python установленные пакеты можно посмотреть командой:

pip list

Библиотека (Library)

Это объект еще выше уровнем: он содержит связанные модули и/или пакеты. Часто «библиотеки» и «пакеты» выступают синонимами, потому что и те, и другие содержат модули и «подпакеты» (subpackages).

На мой взгляд, разница между ними весьма условная. Это становится очевидно, когда сравниваешь списки звезд из текущего и предыдущего разделов:

  • Matplotlib — для визуализации данных;
  • PyTorch — для глубокого обучения;
  • BeautifulSoup4 — для парсинга.

Установка библиотек Python также производится командой pip:

pip install pytorch

Фреймворк (Framework)

Также набор модулей и пакетов, которые и ускоряют процесс программирования. Но более сложный и с архитектурой приложения.

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

Известные представители класса – это:

  • Django — фреймворк Python для сайта;
  • Flask для легковесных демо-проектов;
  • Bottle для создания API.

Заключение

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



Мне нравится 0    Мне не нравится 0


Комментарии

Чтобы добавить видео с YouTube, нужно написать [@youtube=xxxxx] , где xxxxx – ID видео.


Комментарии: 0
Нет ни одного комментария.
RSS-лента
Поделиться ссылкой:
Реклама

Новое
Регулярные выражения — это не трудно Пн 04.12.2023
Регулярные выражения — это не трудно
20 лучших рецептов куриных ножек на сковороде Сб 02.12.2023
20 лучших рецептов куриных ножек на сковороде
Горячий Тодди: классический рецепт, состав, история коктейля Пт 01.12.2023
Горячий Тодди: классический рецепт, состав, история коктейля
Устройство и принцип работы газового инфракрасного обогревателя Ср 29.11.2023
Устройство и принцип работы газового инфракрасного обогревателя
Стили именования переменных и функций. Используйте их все Пн 27.11.2023
Стили именования переменных и функций. Используйте их все
Глинтвейн из красного вина Пт 24.11.2023
Глинтвейн из красного вина
Модуль, пакет, библиотека, фреймворк: разбираемся в разнице Пн 20.11.2023
Модуль, пакет, библиотека, фреймворк: разбираемся в разнице
10 самых больших акустических систем класса High End Ср 15.11.2023
10 самых больших акустических систем класса High End
Почему хорошие разработчики пишут плохие юнит-тесты Пн 13.11.2023
Почему хорошие разработчики пишут плохие юнит-тесты
Виски с соками – удачные дуэты с мягким вкусом для долгой дегустации Пт 10.11.2023
Виски с соками – удачные дуэты с мягким вкусом для долгой дегустации
Книги
Pro ASP.NET Core Identity 3 дня назад, 10:07
Pro ASP.NET Core Identity
Год: 2021
Integrating Serverless Architecture Вт 28.11.2023
Integrating Serverless Architecture
Год: 2019
Real-Time Web Application Development Вт 07.11.2023
Real-Time Web Application Development
Год: 2017
Microservice Patterns and Best Practices Вт 31.10.2023
Microservice Patterns and Best Practices
Год: 2018
Migrating to Microservice Databases Вт 24.10.2023
Migrating to Microservice Databases
Год: 2017

Реклама
Разработано на основе BlackNight CMS
Release v.2023-11-30
© 2000–2023 Blackball
Дизайн & программирование:
О сайтеРеклама
Web-site performed by Sergey Drozdov
BlackballРекламаСтатистика | МузыкаПлейлистыКиноВидеоИгрыАудиоПрограммыСтатьиКартинкиЮморФорумДневник сайтаПрислать контент