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.

Moduł math

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.

Moduł random

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.