Czym jest moduł?
W programowaniu moduł to fragment oprogramowania, który ma określoną funkcjonalność. Przykładowo, budując grę w sapera, jeden moduł może odpowiadać za algorytmy opisujące działanie gry, a inny moduł za wyświetlanie grafiki na ekranie. Najprościej ujmując, moduł to plik, w którym zawarto zestaw funkcji, klas i zmiennych służących do realizacji pewnego celu.
Czym jest pakiet?
Pakiet to katalog zawierający wiele modułów. Z reguły są one tematycznie powiązane, co ułatwia organizację kodu i projektu.
Instalacja pakietów w Pythonie
Pakiety w Pythonie możemy zainstalować przy użyciu linii poleceń (w systemie Windows — CMD) i komendy pip install nazwa_pakietu
. Polecenie to pobiera dany pakiet z serwera PyPI (Python Package Index) i instaluje na dysku lokalnym. Warto wspomnieć, że często stosuje się zamiennie pojęcia pakiet biblioteka, choć biblioteka jest pojęciem bardziej ogólnym, oznaczającym zbór modułów lub pakietów zapewniających szeroki zakres funkcjonalności.
Przykładowo, instalacja popularnej biblioteki do tworzenia wykresów matplotlib
będzie wyglądać następująco:
pip install matplotlib
Odinstalowanie pakietów w Pythonie
Odinstalowanie pakietu dokonujemy również przy użyciu polecenia pip
:
pip uninstall matplotlib
Sprawdzanie, czy pakiet jest zainstalowany
Aby sprawdzić, czy pakiet jest zainstalowany, używamy w terminalu polecenia pip show nazwa pakietu
:
pip show matplotlib
W efekcie dostajemy informacje na temat zainstalowanego pakietu
Name: matplotlib
Version: 3.8.3
Summary: Python plotting package
Home-page: https://matplotlib.org
Author: John D. Hunter, Michael Droettboom
Author-email: [email protected]
License: PSF
Location: C:\Users\Szymon\AppData\Local\Programs\Python\Python311\Lib\site-packages
Requires: contourpy, cycler, fonttools, kiwisolver, numpy, packaging, pillow, pyparsing, python-dateutil
Required-by: seaborn
lub informacji o jego braku:
WARNING: Package(s) not found: matplotlib
Popularne pakiety w Pythonie
Lista dostępnych pakietów i bibliotek jest bardzo długa. Repozytorium PyPI zawiera ich ponad pół miliona. Duża jest również ich różnorodność i można pośród nich znaleźć wiele służących do rozwiązywania problemów z obszaru wielu zainteresowań. Spośród najczęściej pobieranych bibliotek [1] znajdziemy między innymi:
- requests — biblioteka służąca do wykonywania zapytań HTTP,
- numpy — biblioteka służąca do wykonywania szybkich operacji na tablicach,
- boto3 — biblioteka do pracy z usługami Amazon Web Services (AWS),
- python-dateutil — moduł do manipulacji datami i czasem.
Oprócz wyżej wymienionych warto też wspomnieć o pakietach związanych z bardziej szczegółowymi zagadnieniami:
- pandas — pakiet przeznaczony do manipulacji danymi i analizy danych.
- tkinter — biblioteka umożliwiająca tworzenie interfejsów graficznych.
- pygame — biblioteka przeznaczona do tworzenia gier komputerowych.
Moduły w bibliotece standardowej Pythona
Biblioteka standardowa języka Python zawiera ponad 200 podstawowych modułów [2]. Zawiera między innymi takie moduły jak:
- os — zawiera funkcje do interakcji z systemem operacyjnym, takie jak np. manipulacje plikami.
- datetime — udostępnia funkcje do manipulacji datami i czasem.
- re — umożliwia operacje związane z wyrażeniami regularnymi.
- math — zawiera funkcje matematyczne, takie jak sin, cos, exp, itd.
Pełna dokumentacja biblioteki standardowej Pythona znajduje się pod adresem [3].
Importowanie modułów
Korzystanie z wybranego modułu odbywa się po uprzednim zaimportowaniu go. Możemy to zrobić na kilka sposobów. Najprostsza instrukcja to import nazwa_modulu
.
import datetime
Wygodny jest zapis import nazwa_modulu as skrot
, dzięki któremu możemy wywołać funkcje z tego modułu z użyciem skróconej formy, np.:
import numpy as np
# Tworzenie tablicy o długości 5 wypełnionej zerami
zeros_array = np.zeros(5)
# zamiast zeros_array = numpy.zeros(5)
Jeśli nie potrzebujemy korzystać z całego modułu, a jedynie z wybranych jego funkcji to możemy użyć zapisu from modul import funkcja1, funkcja2
, np.:
from numpy import zeros
zeros_array = zeros(5)
Możemy zaimportować kilka modułów w jednej linii:
import datetime, numpy
Tworzenie własnych modułów
Moduł tworzymy jako plik .py
, w którym definiujemy funkcje, klasy i zmienne. Weźmy dla przykładu zagadnienie związane z analizą danych. Możemy utworzyć moduł analiza_danych.py
, który będzie zawierał niezbędne funkcje. Przykładowy moduł mógłby wyglądać następująco:
# analiza_danych.py
def oblicz_srednia(data):
...
return srednia
def wczytaj_dane(sciezka):
...
return data
def wyczysc_dane(data):
...
return clean_data
W powyższym szkicu uwzględnionych mamy kilka funkcji, które realizują takie zadania jak wczytanie danych, wyczyszczenie danych i obliczenie średniej. Utworzony moduł możemy następnie wykorzystać w innych plikach, po wcześniejszym zaimportowaniu go. Możemy zaimportować cały moduł korzystając z instrukcji import modul
, bądź tylko wybrane funkcje from modul import funkcja1, funkcja2
.
from analiza_danych import oblicz_srednia, wczytaj_dane, wyczysc_dane
# Przykładowe dane
sciezka_do_pliku = 'dane.txt'
# Wczytanie danych
dane = wczytaj_dane(sciezka_do_pliku)
print("Wczytane dane:", dane)
# Wyczyszczenie danych
oczyszczone_dane = wyczysc_dane(dane)
print("Oczyszczone dane:", oczyszczone_dane)
# Obliczenie średniej
srednia = oblicz_srednia(oczyszczone_dane)
print("Średnia wartość:", srednia)