Ziedojums  •  Dienasgrāmata  •  Bez reklāmas  •  Par projektu  •  Reklāma  •  Ievietojiet reklāmu  •  Sūtīt saturu  •  Laika skala  •  Translate Viesi: 91    Dalibnieki: 1 Авторизация Sign In   Sign Up 
Scientific Poke Method
RULVEN
Meklēšana  
Blackball iMag | интернет-журнал
Katalogs


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

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


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



Comments

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


Комментарии: 0
Нет ни одного комментария.
RSS-лента
Share link:
Как уговорить ее на свинг? Для тех, кому актуален данный вопрос! Как уговорить ее на свинг? Для тех, кому актуален данный вопрос!
Какой оптимальный объём оперативной памяти? Какой оптимальный объём оперативной памяти?
В привычном режиме
Техника куннилингуса Техника куннилингуса
Буратино III (предпоследняя кровь)
Мозоли Мозоли
Контрацепция для сильного пола
Оральные единоборства
Солдатское письмо №3

Новое
Какие полочные акустические системы стоит выбрать в 2023-2024 годах? вчера, 09:01
Какие полочные акустические системы стоит выбрать в 2023-2024 годах?
Архитектуры разработки ПО 3 дня назад, 09:03
Архитектуры разработки ПО
20 рецептов из горбуши, которые станут вашими любимыми Сб 11.05.2024
20 рецептов из горбуши, которые станут вашими любимыми
Как работает спидометр в машине: вы всегда хотели это знать, но никто не мог объяснить на пальцах Ср 08.05.2024
Как работает спидометр в машине: вы всегда хотели это знать, но никто не мог объяснить на пальцах
5 ошибок при разработке высоконагруженных сервисов Пн 06.05.2024
5 ошибок при разработке высоконагруженных сервисов
20 способов приготовить куриные голени в духовке Вс 05.05.2024
20 способов приготовить куриные голени в духовке
Жаркое из курицы: 20 лёгких и вкусных рецептов Сб 04.05.2024
Жаркое из курицы: 20 лёгких и вкусных рецептов
11 способов быстро и вкусно засолить скумбрию Сб 04.05.2024
11 способов быстро и вкусно засолить скумбрию
HDMI или Display Port: в чëм разница, и чем лучше выводить изображение на монитор Ср 01.05.2024
HDMI или Display Port: в чëм разница, и чем лучше выводить изображение на монитор
300+ вопросов по JavaScript на собеседовании Пн 29.04.2024
300+ вопросов по JavaScript на собеседовании
Grāmatas
Designing Data-Intensive Applications 2 дня назад, 10:02
Designing Data-Intensive Applications
Год: 2017
Fundamentals of Software Architecture Вт 07.05.2024
Fundamentals of Software Architecture
Год: 2020
Refactoring with C# Вт 23.04.2024
Refactoring with C#
Год: 2023

Разработано на основе BlackNight CMS
Release v.2024-05-16
© 2000–2024 Blackball
Design & programming:
AboutReklāma
Visitors
Web-site performed by Sergey Drozdov
BlackballReklāmaStatistikaПоддержка | MusicPlaylistsCinemaVideoGamesAudioDownloadsMagazinePicturesHumorForumWebsite journalSend content