Wprowadzenie
Większość z nas zna Python jako język programowania. Jedną ze świetnych rzeczy w Pythonie 3 jest mnóstwo wbudowanych funkcji jakie oferuje. Otrzymujesz dostęp do tych funkcji, gdy używasz Pythona 3 do pisania różnych rodzajów kodu. Zanim zaczniemy, zapoznaj się z naszym samouczkiem na temat instalacji Pythona 3 i konfiguracji lokalnego środowiska programistycznego na Ubuntu 16.04. Teraz przyjrzyjmy się niektórym z pomocnych funkcji Pythona:
print(): Ta funkcja umożliwia wypisywanie wyrażeń.abs(): Za pomocą tej funkcji można uzyskać wartość bezwzględną dowolnej liczby.int(): Ta pozwala na konwersję dowolnego podanego typu danych na liczbę całkowitą.len(): Pokazuje długość dowolnej sekwencji lub kolekcji.
Czy wbudowane funkcje są wystarczające?
Niestety, same wbudowane funkcje nie wystarczą. Podczas programowania w Pythonie 3 może się okazać, że potrzebujesz więcej funkcjonalności. Nie chcesz być ograniczony tylko przez domyślne funkcje programu. W tym miejscu do gry wkraczają moduły.
Czym są moduły?
Moduły pozwalają na budowanie bardziej zaawansowanych programów. Otwierają one nowe możliwości i dają większe pole do popisu. Moduły zazwyczaj składają się z plików Pythona .py. Każdy z tych plików zawiera fragmenty kodu Pythona. Możesz odwołać się do dowolnego pliku Pythona jako modułu. Korzystając z tych modułów, możesz robić najróżniejsze rzeczy. Na przykład możesz definiować funkcje, klasy, a także zmienne. Możesz się do nich odwoływać w innych plikach Pythona .py lub za pośrednictwem interpretera wiersza poleceń.
Załóżmy, że masz plik Pythona o nazwie hello.py. Nazwa modułu tego pliku to hello. Możesz łatwo zaimportować ten moduł do innych plików Pythona. Możesz go również użyć w interpreterze wiersza poleceń Pythona. Sposób importowania modułów w różnych plikach polega na użyciu instrukcji import. Kiedy importujesz moduł, zasadniczo wykonujesz kod wewnątrz tego modułu. Sprawiasz, że definicje w module stają się użyteczne dla bieżącego pliku.
W tym kompleksowym przewodniku omówimy, jak sprawdzać i instalować moduły w Pythonie 3. Porozmawiamy również o tym, jak importować moduły i nadawać im aliasy.
Jak sprawdzić obecność modułów?
Jak wspomnieliśmy wcześniej, w Pythonie 3 znajduje się kilka wbudowanych modułów. Można je znaleźć w Bibliotece Standardowej Pythona. Biblioteka ta zawiera kilka standardowych modułów, które wykonują podstawowe funkcje systemowe i rozwiązania. Jest to domyślna funkcja, którą otrzymujesz po instalacji Pythona.
Jeśli chcesz sprawdzić, czy te moduły są gotowe do użycia, musisz wydać polecenie. Będziesz musiał wejść do lokalnego środowiska programistycznego Python 3 lub środowiska programistycznego opartego na serwerze. Następnie musisz uruchomić interpreter Pythona w wierszu poleceń. Będzie to wyglądać mniej więcej tak:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ python</span> |
Teraz możesz uruchomić instrukcję import. Potwierdzi to, że moduł może zostać wywołany, gdy zajdzie taka potrzeba. Załóżmy, że uruchomisz polecenie z modułem math :
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math</span> |
Moduł math jest wbudowanym modułem w Pythonie. Oznacza to, że interpreter wykona zadanie bez żadnych komunikatów zwrotnych. Powróci do znaku zachęty. Możesz od razu zacząć korzystać z modułu bez żadnych innych działań.
Jak instalować moduły?
Z drugiej strony, załóżmy, że chcesz uruchomić moduł, który nie jest zainstalowany. W naszym przykładzie rozważymy bibliotekę do tworzenia wykresów 2D matplotlib. Oto jak uruchomić instrukcję import z takim modułem:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib</span> |
Jeśli nie zainstalowałeś modułu, otrzymasz błąd taki jak ten:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Wynik ImportError: No module named 'matplotlib'</span> |
Aby to zadziałało, musisz najpierw dezaktywować interpreter Pythona. Możesz to zrobić za pomocą CTRL + D. Następnie musisz zainstalować matplotlib za pomocą pip:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ pip install matplotlib</span> |
Teraz będziesz mógł pomyślnie zaimportować matplotlib w interpreterze za pomocą polecenia import matplotlib. Tym razem nie zwróci ono błędu.
Jak importować moduły?
Przyjrzyjmy się, jak importować moduły. Aby skorzystać z jego funkcji, musisz zaimportować moduł za pomocą instrukcji import. Instrukcja składa się ze słowa kluczowego import połączonego z nazwą modułu. Nazwa modułu zazwyczaj znajduje się na samej górze kodu w pliku Pythona.
Na przykład, jeśli patrzysz na plik Pythona o nazwie my_rand_int.py, zaimportujesz moduł random w celu generowania liczb losowych:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random</span> |
Będziesz musiał odwołać się do funkcji za pomocą notacji kropkowej. Wyglądałoby to mniej więcej tak: [module].[function]. Oznacza to w zasadzie, że możesz używać modułu jako oddzielnej przestrzeni nazw w bieżącym pliku.
Kontynuując temat modułu, przyjrzyjmy się kilku funkcjom:
random.randint(): Ta funkcja zwraca losową liczbę całkowitą.random.randrange(): Ta funkcja zwraca losowy element z podanego zakresu. Zobaczmy, jak można utworzyć pętlęfor. Będziemy wywoływać jedną z funkcji dla modułurandomw naszym bieżącym programie, którym jestmy_rand_int.py:
|
1 2 3 4 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random for i in range(10): print(random.randint(1, 25))</span> |
for. Jak widać, pętla będzie działać na 10 elementach. Program wypisze losową liczbę całkowitą z przedziału obustronnie domkniętego od 1 do 25. Oznacza to, że liczby całkowite 1 i 25 są parametrami random.randint().
Now gdy uruchomisz program za pomocą python my_rand_int.py, w wyniku otrzymasz 10 losowych liczb całkowitych, tak jak tutaj:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Wynik 6 9 1 14 3 22 10 1 15 9</span> |
Ponieważ użyliśmy modułu random, za każdym razem otrzymasz nowe liczby całkowite. Nie przekroczą one jednak wartości 25 ani nie spadną poniżej 1. Czasami można również użyć wielu instrukcji import jednocześnie, w ten sposób:
|
1 2 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random import math</span> |
Użyjemy naszego dodatkowego modułu, dodając pi z math do programu. Zmniejszymy również liczbę losowych liczb całkowitych:
|
1 2 3 4 5 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math import random for i in range(5): print(random.randint(1, 25)) print(math.pi)</span> |
Teraz nasz wynik będzie wyglądać następująco:
|
1 2 3 4 5 6 7 8 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Wynik 18 10 7 13 10 3.141592653589793</span> |
Mamy pięć losowych liczb całkowitych i przybliżoną wartość pi.
Jak używać from….import?
Oprócz import, kolejną instrukcją, którą warto znać, jest from … import. Jest to przydatne, gdy nie chcesz odwoływać się do swoich funkcji za pomocą notacji kropkowej. W ten sposób możesz wywoływać funkcje po nazwie i bezpośrednio określać referencje. W tym przykładzie zaimportujemy funkcję randint() z modułu random:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint</span> |
Bezpośrednio wskazujemy funkcję, którą chcemy wywołać. Nawet w naszym programie musimy jedynie podać nazwę funkcji bez notacji kropkowej:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint for i in range(10): print(randint(1, 25))</span> |
Wynik będzie taki sam, jak ten powyżej. Różnica polega na tym, że teraz możesz całkowicie uniknąć stosowania notacji kropkowej.
Jak tworzyć aliasy modułów?
Powinieneś również zapoznać się ze słowem kluczowym as . Używając tego słowa kluczowego, możesz zmieniać nazwy modułów i ich funkcji. Może to być konieczne, jeśli masz istniejący lub nowo zaimportowany moduł o tej samej nazwie. Instrukcja tworzenia aliasów modułów będzie wyglądać następująco:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import [module] as [another_name]</span> |
W naszym przykładzie zmodyfikujemy nazwę modułu math. Skrócimy ją i zmienimy na m. Program będzie wyglądał tak:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math as m print(m.pi) print(m.e)</span> |
Jak widać, zamiast odwoływać się do pi jako math.pi, wywołujemy je jako m.pi.
Niektóre moduły mają oficjalne aliasy. Wynika to z faktu, że bardzo często używa się aliasów zamiast ich rzeczywistych nazw. Weźmy pod uwagę moduł matplotlib.pyplot. W oficjalnej dokumentacji jego aliasem jest plt. Alias tworzy się w następujący sposób:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib.pyplot as plt</span> |
Podsumowanie
Możliwość dodawania i importowania modułów naprawdę rozszerza świat programowania w Pythonie. Pozwala wyjść poza same wbudowane funkcje. Możesz jednocześnie korzystać z domyślnych modułów Pythona, jak i tych zainstalowanych za pomocą pip. Pamiętaj, aby korzystać z tej funkcji podczas tworzenia czegoś bardziej złożonego lub zaawansowanego. Ułatwia to pracę, pozwala na kreatywność i pomaga budować solidne programy.
Na koniec oto kilka dodatkowych zasobów z naszego bloga, które pomogą Ci w dalszym korzystaniu z Pythona:
Miłego programowania!
Komentarze
Brak komentarzy. Bądź pierwszy.