Всем привет! Сегодня я расскажу про библиотеку time в языке Python 3, а также мы научимся писать собственные часы.
Она нужна, как понятно из названия, для того, чтобы работать со временем в языке Python. Подключается она, как и многие бибилиотеки, с помощью такой строчки:
>>> import time
Или такой:
>>> from time import *
В чём же разница между этими строчками? Про это мы поймём чуть позже.
Зачем нам нужна эта библиотека? Конечно же, чтобы работать с временем. Например, можно узнанть, сколько секунд прошло с Начала Времён - с первого января 1970-го года (большинство дат и времён в компьютерах так и хранится - такой формат называется Unix-time):
>>> time.time()
1578237045.2279458
Или
>>> time()
1578237045.2279458
Тут видна разница между двумя способами подключения: если вы написали import time, то перед каждой функцией библиотеки надо показать, что вы обращаетесь именно к этой библиотеке, а если from time import *, то название библиотеки можно не писать. Далее я буду писать, как будто я подключил первым способом.
Однако мы не привыкли думать о времени как о числе секунд с 1970-го года, поэтому давайте научимся получать время в более привычном формате. Функция
>>> time.ctime()
'Sun Jan 5 13:26:10 2020'
вернёт строку, в которой будет записано текущее время с днём недели, числом, месяцем и годом. Также этой функции можно передать число секунд, и тогда функция переведёт это Unix-время в формат, знакомый человеку.
Часто используемой является и функция sleep(n), которая прнимает число секунд (можно и нецелое) и приостанавливает работу програмы на столько n секунд.
>>> time.sleep(10)
[Через 10 секунд]
>>>
Теперь мы готовы написать свои собственные часы!
Для этого в цикле while каждую секунду будем писать текущее время:
>>> while True:
print(time.ctime())
time.sleep(1)
Ура, работает! Вот только каждый раз появляется новая строка. Давайте это исправим. Перед тем, как распечатать новое время, переместим место, куда мы сейчас будет печатать, в начало строки . Это делается с помощью вывода специального символа "\r" (Как и на печатной машинке, этот символ называется "возврат каретки") .
У нас получается вот такой вот код:
>>> while True:
print("\r", time.ctime(), sep="", end="")
time.sleep(1)
Спасибо за просмотр, ставьте лайки и подписывайтесь!