Difference Between Two datetimes

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Mon Dec 28 18:27:28 EST 2009


On Mon, 28 Dec 2009 14:42:21 -0800, W. eWatson wrote:

> So as long as I don't print it, it's datetime.datetime and I can make
> calculations or perform operations on it as though it is not a string,
> but a datetime object?

No, it remains a datetime object regardless of whether you print it or 
not. Printing doesn't turn the object into a string, it leaves the object 
as-is and produces an additional string suitable for printing.

This is no different from any other object: if you print a dict, or a 
int, or a list, the object doesn't turn into a string. When you say 
"print x", Python has no idea what information is appropriate to display 
for some arbitrary object x. So it asks x what is appropriate, by calling 
the __str__ method. That way Python only needs to know how to print one 
data type: strings.



-- 
Steven



More information about the Python-list mailing list