Następny moduł jaki mam do zaprezentowania dla początkujących "Pythonowców" to jest moduł "random". "random" również posiada pewien zestaw metod przeznaczonych do losowania liczb oraz danych.

MODUŁ "RANDOM". ROZUMIENIE PSEUDOLOSOWOŚCI

Mając już wiedzę na temat istoty samego modułu, można przejść do poznawania następnego z nich. Zanim przejdę do metod, muszę jeszcze wyjaśnić Wam jedną kwestię związaną z prawidłowym nazewnictwem. Dokumentacja Pythona "mówi", że jest tu zawarty generator liczb pseudolosowych. Ktoś może główkować, "jak pseudo, skoro dochodzi faktycznie do tego losowania? Powinno to się określać jako samo losowe, co nie?". Nie o to tu chodzi... 

DLACZEGO LICZBY OKREŚLA SIĘ "PSEUDOLOSOWYMI"?

To może być kolejne czepianie się słówek, aczkolwiek rzeczywiście, błędnym określeniem byłoby nazwanie liczb po prostu "losowymi". Moduł "random" nie działa w sposób całkowicie losowy. Losowość w tym przypadku oznaczałaby wylosowanie dowolnej danej "jak leci", czyli istniałoby wysokie prawdopodobieństwo otrzymania takiej liczby, która byłaby sprzeczna z naszymi założeniami i mogłaby spowodować zamieszanie w funkcjonalności. Taki losowy indeks listy na ten przykład. Przecież nie chcemy wartości ujemnych, bądź wykraczających poza długość takiej listy. Liczby zmiennoprzecinkowe też budziłyby zastrzeżenia w tym przypadku. Rozumiecie o co mi chodzi?

Dlatego jest to określane "pseudolosowością", gdyż temu losowaniu zwykle "pomagamy" przydzielając zakres od jakiego minimum do jakiego maksimum wartość ma zostać przypisana. W ten sposób narzucamy pewne restrykcje jakie muszą być przez ten generator przestrzegane, aby to pseudolosowanie pomagało, a nie szkodziło. Miejcie to na względzie jeśli chcecie programować w sposób świadomy.

ZESTAW METOD

Moduł "random" zawiera w sobie metody przeznaczone między innymi do generowania liczb pseudolosowych. Teraz przybliżę Wam dwie podstawowe metody jakie są w nim zawarte.

randint()

"randint" pozwala w banalny sposób otrzymać liczbę pseudolosową z podanego w dwóch parametrach przedziału. W pierwszym parametrze podajemy minimum, a w drugim, maksimum. Na wyjściu otrzymujemy zwrot liczby całkowitej.

Metoda "randint" w Pythonie z modułu "random"

Przy pomocy metody "randint", możemy po prostym wywołaniu uzyskać pseudolosową liczbę z określonego przedziału.

Język Python na tyle rozsądnie podchodzi do sprawy, że w sytuacji gdy minimum jest większe od maksimum (pojawia się sprzeczność), następuje natychmiastowe zgłoszenie wyjątku.

shuffle()

Moduł "random" to nie tylko losowanie liczb "od do". Pseudolosowość obejmuje też kolekcje! Mieszanie danych staje się dziecinnie proste przy użyciu metody "shuffle". Po podaniu w parametrze listy z argumentami, wszystkie zawarte w niej dane zostają zamienione miejscami.

Metoda "shuffle" w Pythonie z modułu "random"

"shuffle" miesza kolejność argumentów w podanej w parametrze kolekcji dowolnego typu.

Powyższa metoda nie zwraca żadnej wartości więc nie pomylcie się próbując przypisać wynik metody do listy. Trafi ją wtedy szlag, bo zwróci Wam "None" (odpowiednik wartości "null").


Na razie to wszystko. Moduł "random" ma w sobie jeszcze więcej metod więc nie zrażajcie się do liczby opisanych tutaj. W przyszłości artykuł będzie rozbudowywany o następne opisy.

PODOBNE ARTYKUŁY