Moduły i pakiety Pythona: organizowanie projektów kodu
Zrozumienie modułów i pakietów języka Python. Dowiedz się, jak importować pliki, organizować duże projekty, korzystać ze standardowej biblioteki i korzystać z importu bezwzględnego i względnego.
Przegląd
W miarę rozwoju aplikacji przechowywanie całego kodu w jednym pliku staje się niemożliwe do zarządzania, odczytywania i debugowania. Python rozwiązuje ten problem, organizując kod w moduły i pakiety. Moduł to po prostu plik Pythona (kończący się na `.py`) zawierający zmienne, funkcje, klasy i instrukcje wykonywalne. Dzieląc kod na moduły logiczne, możesz utworzyć czystą bazę kodu nadającą się do wielokrotnego użytku, łatwą do testowania i udostępniania w różnych aplikacjach.
Aby użyć kodu z jednego modułu w innym, Python używa słowa kluczowego „import”. Możesz zaimportować cały moduł (np. „importuj matematykę”), zaimportować określone atrybuty (np. „z matematyki import pi, sqrt”) lub zaimportować moduł pod aliasem, aby zachować zwięzłość kodu (np. „importuj pandy jako pd”). Przed rozpoczęciem importu system importu Pythona przeszukuje określoną listę ścieżek, zaczynając od bieżącego katalogu, po katalogach instalacyjnych i bibliotece standardowej.
Pakiet to zbiór modułów zorganizowanych w strukturę katalogów. Aby zdefiniować katalog jako pakiet, tradycyjnie zawierał on plik o nazwie `__init.py` (chociaż jest to opcjonalne w przypadku pakietów przestrzeni nazw wPython 3.3+). Struktura ta umożliwia grupowanie powiązanych modułów w ramach jednej przestrzeni nazw. Na przykład pakiet o nazwie `baza danych` może zawierać moduły `połączenie.py` i `zapytania.py`. Zaimportowałbyś ich zawartość używając notacji kropkowej: `import Database.connection`. Opanowanie modułów i pakietów jest kluczem do tworzenia skalowalnych, gotowych do produkcji aplikacji w języku Python.
Dane wyjściowe kodu i wykonania
Korzystanie z systemu importu Pythona w celu uzyskania dostępu do funkcji matematycznych i korzystanie z niestandardowych aliasów.
import math
from math import sqrt as square_root
# Calculate mathematical constants and values
val = 16
result = square_root(val)
pi_value = math.pi
print(f"Square root of {val} is {result}")
print(f"Value of Pi: {pi_value:.4f}")
print(f"Cosine of 0 is {math.cos(0)}")Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0Wdrażanie krok po kroku
- Oddzielenie logiki biznesowej od procedur obsługi tras
- Korzystanie ze standardowych narzędzi bibliotecznych w różnych aplikacjach
- Publikowanie kodu w postaci bibliotek open source wielokrotnego użytku
Często zadawane pytania
Jaki jest cel __init.py?
Inicjuje katalog jako pakiet Pythona. Można go również użyć do udostępnienia określonych podmodułów lub zmiennych na poziomie pakietu, aby ułatwić importowanie.
Jak zainstalować moduły zewnętrzne?
Używasz menedżera pakietów Pythona, pip, za pośrednictwem wiersza poleceń (np. Żądania instalacji pip), który pobiera i instaluje pakiet z PyPI.
Powiązane tematy
Opanuj funkcje Pythona. Dowiedz się, jak pisać kod wielokrotnego użytku za pomocą def, definiować argumenty, zwracać wartości i rozumieć zakres lokalnie i globalnie.
Środowiska wirtualne PythonaOpanuj środowiska wirtualne Pythona. Dowiedz się, jak bezpiecznie tworzyć, aktywować i zarządzać zależnościami za pomocą venv i pip.
Moduł matematyczny w języku PythonOdkryj moc wbudowanego modułu matematycznego Pythona. Dowiedz się o funkcjach trygonometrycznych, logarytmach, metodach zaokrąglania i stałych.
Polecane zasoby Pythona
Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.
Jak sortować listę w Pythonie
Dowiedz się, jak sortować listę w Pythonie za pomocą metody sort() i funkcji sorted(). Odkryj przykłady niestandardowego sortowania kluczy i odwrotnej kolejności.
Ściągawka dotycząca metod ciągów w Pythonie
Kompletny przewodnik dotyczący manipulacji ciągami znaków w języku Python. Opanuj formatowanie, wyszukiwanie, dzielenie, zastępowanie i sprawdzanie właściwości ciągów.
Python kontra JavaScript: który język programowania jest najlepszy?
Kompleksowe porównanie Pythona i JavaScript. Poznaj różnice w składni, wydajność, przypadki użycia (backend vs frontend) i przykłady kodowania.