Поскольку timedelta определяется как:
class datetime.timedelta([days,] [seconds,] [microseconds,] [milliseconds,] [minutes,] [hours,] [weeks])
Все аргументы являются необязательными и по умолчанию равны 0.
Вы можете легко сказать «Три дня и четыре миллисекунды» с дополнительными аргументами таким образом.
>>> datetime.timedelta(days=3, milliseconds=4)
datetime.timedelta(3, 0, 4000)
>>> datetime.timedelta(3, 0, 0, 4) #no need for that.
datetime.timedelta(3, 0, 4000)
И для приведения str возвращает __repr__
хорошее форматированное значение, чтобы улучшить читаемость.Из документов:
str (t) Возвращает строку в форме [D day [s],] [H] H: MM: SS [.UUUUUU], где D отрицательно для отрицательного t,(5)
>>> datetime.timedelta(seconds = 42).__repr__()
'datetime.timedelta(0, 42)'
>>> datetime.timedelta(seconds = 42).__str__()
'0:00:42'
Оформление документации:
http://docs.python.org/library/datetime.html#timedelta-objects