16.1 - Time
Para ter mais um exemplo de tipo definido pelo programador, criaremos uma classe chamada Time
(hora), que registra um horário no dia. A definição da classe é assim:
class Time:
"""Represents the time of day.
attributes: hour, minute, second
"""
Podemos criar um objeto Time
e ter atributos para horas, minutos e segundos:
time = Time()
time.hour = 11
time.minute = 59
time.second = 30
O diagrama de estado do objeto Time está na Figura 16.1.
.
Figura 16.1 – Diagrama de um objeto Time
.
Como exercício, escreva uma função chamada print_time
, que receba um objeto Time e o exiba na forma hour:minute:second. Dica: a sequência de formatação '%.2d'
exibe um número inteiro com, pelo menos, dois dígitos, incluindo um zero à esquerda, se for necessário.
Escreva uma função booleana chamada is_after
, que receba dois objetos Time, t1
e t2
, e devolva True
se t1
for cronologicamente depois de t2
e False
se não for. Desafio: não use uma instrução if
.