Jason. Cała informatyka w jednym miejscu!

W poprzednim artykule omówiliśmy sobie szczegółowo pochodzenie, budowę oraz zastosowanie metody "gmtime". Teraz przedstawię Wam sam moduł "time" jaki występuje w języku Python, do którego należy wcześniej przytoczona metoda.

MODUŁ "TIME" I JEGO ZESTAW METOD

Czym sam w sobie jest moduł, to już wiemy ;). Rzucimy okiem na jeden z nich jaki nosi nazwę "time", przynajmniej taką nazwę piszemy podczas importowania. Poznajmy parę metod jakie zawiera w sobie ten moduł.

sleep()

Pierwszą metodę jaką powinniście znać jest "sleep". Ma ona związek z wątkami i współbieżnością jaka jest wspierana przez Pythona. Umożliwia ona "uśpienie" wątku na którym opiera się uruchomiony przez nas program na podaną w parametrze formalnym liczbę sekund. Sekund, nie milisekund! Dodam, że po wywołaniu tej metody, jesteśmy "zablokowani" na podany czas i nie możemy wprowadzać żadnych poleceń:

Metoda "sleep" w Pythonie z modułu "time"

Metoda "sleep" wstrzymuje działanie programu na określoną liczbę sekund. Przez cały czas uśpienia, nie można wprowadzać żadnych nowych poleceń.

gmtime()

Kolejna z metod jaką zawiera w sobie moduł "time" to "gmtime", omówiona znacznie szerzej w poprzednim artykule. Pozwala ona pobrać aktualny czas jaki jest w zegarze systemowym. Zwraca dziewięć wartości liczbowych umieszczonych w krotce (jeden z typów kolekcji w Pythonie):

Metoda "gmtime" w Pythonie z modułu "time"

Dzięki metodzie "gmtime", jesteśmy w stanie pozyskać aktualny czas jakim kieruje się system operacyjny.

time()

Metoda "time" ma taką samą nazwę co sam moduł "time" przez co może powodować pomyłki przy rozróżnianiu. Po jej wywołaniu następuje zwrot liczby zmiennoprzecinkowej oznaczającej liczbę upłyniętych sekund od tzw. "czasu uniksowego", czyli od 1 stycznia, 1970 roku:

Metoda "time" w Pythonie z modułu "time"

"time" zwraca liczbę zmiennoprzecinkową w postaci upłyniętych sekund od 1 stycznia, 1970 roku ("czasu uniksowego").

Warto wiedzieć, że metoda nie tylko wypisuje samą liczbę sekund, ale może ona też bez problemu posłużyć do mierzenia czasu działania programu, dzięki czemu możemy zrobić prosty czasomierz do wykonywania wszelkiego rodzaju pomiarów np. sprawdzenie ile użytkownikowi zajęło czasu, aby odpowiedzieć na zadane pytanie. W celu uzyskania takiej wartości, wykonuje się różnicę aktualnego czasu z poprzednio "zanotowanym" czasem przed przeprowadzanymi operacjami:

t1 = time.time()

# dowolne instrukcje

t2 = time.time()
taken_time = t2 - t1

Banalny sposób na mierzenie czasu działania programu.

strftime()

Dziwny "zlepek" słów w nazwie można tłumaczyć jako "string formatted time" (nie wiem czy to znaczy dokładnie to, tylko zgaduję :)). Moduł "time" posiada również metodę formatującą podany w parametrze czas i to jest właśnie ona. Pozwala na uniknięcie ręcznego "wyciągania" argumentów z "gmtime" celem ładniejszego ukazania daty lub godziny przy pomocy funkcji "print".

"strftime" polega na wprowadzeniu do pierwszego parametru łańcucha formatującego, który musi w sobie zawierać tak zwane "specyfikatory". Te specyfikatory zostają później zamienione na odpowiednie argumenty obiektu zwracanego przez metodę "gmtime" (pełną listę specyfikatorów można zobaczyć w dokumentacji Pythona). W związku z tym, nie zobaczymy na wyjściu tych specyfikatorów, tylko podane po łańcuchu formatującym wartości, które zostały poddane "przeróbce". Specyfikator można łatwo dostrzec po znaku procent (%) oraz literce "stojącej" zaraz obok niego.

Metoda "strftime" w Pythonie z modułu "time"

Metoda "strftime" pozwala uzyskać łańcuch znaków ze zmodyfikowanymi argumentami obiektu "gmtime" wstawianymi w miejsce specyfikatorów formatu.

Metoda swoim zachowaniem przypomina funkcję "printf" z języka C. Tam również podaje się najpierw łańcuch formatujący razem ze specyfikatorami, a następnie na mocy zmiennej liczby argumentów wprowadza się po kolei wartości jakie mają podlegać formatowaniu.


Nie dziwcie się czemu jest tego tak mało :D. To nie jest pełne zestawienie wszystkich metod jakie zawiera w sobie moduł "time". Jest ich o wiele więcej i z czasem ten artykuł będzie poszerzany o dodatkowe informacje wraz z nabywaniem przeze mnie nowej wiedzy ;).

PODOBNE ARTYKUŁY