8. Importowanie modułów wbudowanych - majsylw/Introduction-to-programming-in-python GitHub Wiki
W Pythonie moduły są zwykłami plikami z rozszerzeniem *.py
, w których zawarto pewne konkretne zestawy funkcji. Moduły importujemy do swojego programu za pomocą komendy import
.
Najpierw moduł jest ładowany w wykonujący się skrypt Pythona. Potem jego zawartość jest odczytywana tak, jakbyśmy to my napisali ten kod wcześniej - ładowane są konkretne definicje funkcji. Bardzo często jest tak, że importując jeden konkretny moduł jednocześnie zaimportujemy inne, dla których importy znalazły się w skrypcie pierwotnie porządanego przez nas modułu. Jeśli zdarzy się, że interpreter dwa razy napotka polecenie dołączenia tego samego modułu, to drugie polecenie zostanie zignorowane.
W dokumentacji Pythona znajdziesz pełną listę wbudowanych modułów standardowej biblioteki Pythona. My w tym miejscu zajmiemy się dwoma pakietami: modułem math
i random
.
math
Moduł Ten moduł zawiera mnóstwo przydatnych funkcji matematycznych, takich jak sqrt()
, czyli funkcja wyznaczająca pierwiastek kwadratowy z liczby, czy pow()
- pozwalające podnieść jedną liczbę do wybranej potęgi. Możemy z niej skorzystać posiłkując się importem:
import math # importujemy całą zawartość modułu math
print(math.sqrt(4)) # wyświetlamy wyliczony pierwiastek z 4 czyli 2
print(math.pow(2,3)) # wyświetlamy 2**3 czyli 8
Jak widać powyżej chcąc skorzystać z konkretnych funkcji w module math
wypisujemy math.<nazwa_dostepnej_funkcji>
. Teraz wykorzystamy to miejsce, żeby dowiedzieć się czegoś nowego o importach:
from math import sqrt # z modulu math importujemy jedynie funkcję sqrt
print(sqrt(4)) # w tym przypadku nie musimy wpisywać math.sqrt(), gdyż z modułu math zaimportowalismy dokładnie tę funkcję -- sqrt
# print(pow(2,3)) # wywołanie tej linijki zaskutkuje błędem gdyż, nie pobraliśmy do naszego programu funkcji pow
from math import * # importujemy wszystkie funkcje z modułu math
print(pow(2,3)) # teraz ten kod się wykona, gdyż w powyższej linijce zaimportowalismy z modułu math wszystko
# możemy też pobrać kilka konkretnych funkcji z modułu wypisując je po przecinku, np.
from math import sqrt, pow
print(sqrt(4))
print(pow(2,3))
import math as m # stosujemy aliasowanie
print(m.sqrt(2)) # zamiast math wpisujemy m gdyż powyżej nadalismy modułowi math taką nazwę
Aby poznać więcej możliwości, jakie daje korzystanie z modułu math
wystarczy, że zajrzysz do dokumentacji.
random
Moduł Moduł random
służy do generowania liczb pseudolosowych. Sposób importowania przynależących do niej funkcji jest analogiczny, jak w przypadku moduło math
. Korzystajac z funkcji random()
dostępnej w module random
możemy wylosować dowolną liczbę pseudolosową z zakresu 0 do 1, jak też głosi dokumentacja:
random.random()
Return the next random floating point number in the range [0.0, 1.0).
Kiedy chcemy przeglądnąć zawartość modułów w Pythonie z pomocą przychodzą nam dwie ważne funkcje – dir()
oraz help()
. Za pomocą funkcji dir()
możemy zobaczyć, jakie funkcje zostały umieszczone w dowolnym module. Kiedy już znajdziemy funkcję, której chcemy użyć, możemy dowiedzieć się o niej więcej, używając funkcji help()
w interpreterze Pythona.
import random
print(dir(random)) # wyswietlimy wszystkie dostepne funkcje
print(help(random.random)) # wyswietlimy informacje na temat funkcji random w bibiotece random
Zachęcam do zapoznania się z tymi, jak i wieloma innymi modułami wbudowanymi.