Сообщение администратору
Имя:
Email:
Ziņojums:
Вход на сайт
Lietotājs:
Parole:

Статистика
Поделиться
Ziedojums  •  Dienasgrāmata  •  Par projektu  •  Reklāma  •  Ievietojiet reklāmu  •  Sūtīt saturu  •  Laika skala  •  Translate  •  Рекомендованное  •  Написать администратору OpenToWork Viesi: 6    Dalibnieki: 0 Авторизация Sign In   Sign Up 
Scientific Poke Method
RULVEN
Meklēšana  
Blackball iMag | интернет-журнал
RSS-лента
Share link:

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

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


Модуль, пакет, библиотека, фреймворк: разбираемся в разнице
Added: Пн 20.11.2023 • Sergeant
Author: Елена Капаца
Source: source
Skatījumi: 414
Komentāri: 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



Сейчас читают:
Участников (0) и гостей (0)




Komentāri: 0
There are no comments.

Новое
«Работа руководителя в полях», или что дает гемба-менеджмент компаниям 2 дня назад, 09:18
«Работа руководителя в полях», или что дает гемба-менеджмент компаниям
Microsoft дала ИИ настоящий инструмент программиста — и он впервые узнал, как сложно быть человеком 3 дня назад, 23:01
Microsoft дала ИИ настоящий инструмент программиста — и он впервые узнал, как сложно быть человеком
Google предложила сотням сотрудников уйти добровольно. Те отказались — их уволили Пт 11.04.2025
Google предложила сотням сотрудников уйти добровольно. Те отказались — их уволили
Как и с чем пьют настойки Пт 11.04.2025
Как и с чем пьют настойки
Лучшие телефоны Sony в 2025 году: выберите лучший Xperia для вас Ср 09.04.2025
Лучшие телефоны Sony в 2025 году: выберите лучший Xperia для вас
Даркнет в цифрах: как устроен скрытый интернет Вт 08.04.2025
Даркнет в цифрах: как устроен скрытый интернет
Возрожденная ALPINA 7 Series станет самым мощным бензиновым седаном BMW Вт 08.04.2025
Возрожденная ALPINA 7 Series станет самым мощным бензиновым седаном BMW
Почему программисты не стареют: эффект кодера после 40 Пн 07.04.2025
Почему программисты не стареют: эффект кодера после 40
Как Бурдж-Халифа стоит на песке и почему может упасть, если отключить там электричество Пн 07.04.2025
Как Бурдж-Халифа стоит на песке и почему может упасть, если отключить там электричество
Как работает QR-код: просто о сложном Вс 06.04.2025
Как работает QR-код: просто о сложном
Grāmatas
Web API Development with ASP.NET Core 8 Вт 25.03.2025
Web API Development with ASP.NET Core 8
Год: 2024
Azure Adventures with C# Вт 18.03.2025
Azure Adventures with C#
Год: 2024
Fundamentals of Enterprise Architecture Вт 11.03.2025
Fundamentals of Enterprise Architecture
Год: 2024
Pro .NET Memory Management, Second Edition Вт 04.03.2025
Pro .NET Memory Management, Second Edition
Год: 2024
Разработано на основе BlackNight CMS
Release v.2025-04-14
© 2000–2025 Blackball
Design & programming:
AboutReklāma
PULS.LV Professional rating system
Visitors
Web-site performed by Sergey Drozdov
BlackballReklāmaStatistikaПоддержка
MusicPlaylistsCinemaVideoGamesAudioDownloadsMagazinePicturesHumorForumWebsite journalSend contentРекомендованное
ЧасыLava LampWazeНастройка WindowsFleshlight
Complete your gift to make an impact
Buy Me A Coffee
Если вам понравился этот сайт и вы хотите меня поддержать, вы можете купить мне кофе. Спасибо!