timedelta は次のように定義されているため:
class datetime.timedelta([days,] [seconds,] [microseconds,] [milliseconds,] [minutes,] [hours,] [weeks])
すべての引数はオプションで、デフォルトは 0 です。
このように、オプションの引数を使用して「3 日と 4 ミリ秒」と簡単に言うことができます。
>>> 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)
__repr__
また、str キャストの場合は、読みやすさを向上させるのではなく、適切にフォーマットされた値を返します。ドキュメントから:
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