Donation  •  Journal  •  Ads free  •  About  •  Advertisement  •  Place ads banner  •  Fleshlight  •  Send content  •  Timeline  •  Translate Guests: 7    Members: 0 Авторизация Sign In   Sign Up 
Scientific Poke Method
RULVEN
Search  
Blackball iMag | интернет-журнал
Catalogue


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

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


Модуль, пакет, библиотека, фреймворк: разбираемся в разнице
Added: Пн 20.11.2023 • Sergeant
Author: Елена Капаца
Source: источник
Views: 360
Comments: 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:
Блюда из говяжьей вырезки — 10 вкусных рецептов Блюда из говяжьей вырезки — 10 вкусных рецептов
20 простых рецептов булочек из дрожжевого теста в духовке 20 простых рецептов булочек из дрожжевого теста в духовке
Коктейль виски со Швепсом – оригинальные и согревающие рецепты Коктейль виски со Швепсом – оригинальные и согревающие рецепты
Коктейли с томатным соком: рецепты приготовления миксов Коктейли с томатным соком: рецепты приготовления миксов
Настойка и наливка: в чём разница Настойка и наливка: в чём разница
Запуск приложений Android на компьютере с Windows Запуск приложений Android на компьютере с Windows
Как приготовить суши в домашних условиях Как приготовить суши в домашних условиях
Банановый ликер: 3 рецепта в домашних условиях Банановый ликер: 3 рецепта в домашних условиях
ASP.NET Core Web API Best Practices
5 ошибок при разработке высоконагруженных сервисов 5 ошибок при разработке высоконагруженных сервисов

python
Модуль, пакет, библиотека, фреймворк: разбираемся в разнице Пн 20.11.2023
Модуль, пакет, библиотека, фреймворк: разбираемся в разнице
101 вопрос, на которые должен ответить Python-разработчик Пн 08.05.2023
101 вопрос, на которые должен ответить Python-разработчик
Python Microservices Development Чт 29.09.2022
Python Microservices Development
Год: 2017
Data Analysis with Pandas Вт 05.07.2022
Data Analysis with Pandas
Год: 2019
Python High Performance, Second Edition Вт 23.11.2021
Python High Performance, Second Edition
Год: 2017
Effective Python: 59 Specific Ways to Write Better Python Вт 19.11.2019
Effective Python: 59 Specific Ways to Write Better Python
Год: 2015
Books
Designing Data-Intensive Applications Вт 14.05.2024
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-19
© 2000–2024 Blackball
Design & programming:
AboutAdvertising
Visitors
Web-site performed by Sergey Drozdov
BlackballAdvertisingStatsПоддержка | MusicPlaylistsCinemaVideoGamesAudioDownloadsMagazinePicturesHumorForumWebsite journalSend content