Shabda Raaj <[email protected]> writes:

> Eg: See this:
>
> http://nbviewer.ipython.org/5151306
>
> I was expecting datetime.date.today() == datetime.datetime.today()
>
> to give me a True. (It is false).

I'd expect it to be False. There will be a small amount of time between
the two invocations and the time will change

>>> x, y = (datetime.datetime.now(),datetime.datetime.now())
>>> x
datetime.datetime(2013, 9, 10, 11, 14, 16, 662050)
>>> y
datetime.datetime(2013, 9, 10, 11, 14, 16, 662102)
>>> 

> For example this works as I expect:
>
> http://nbviewer.ipython.org/5151398
>
> However looks like __eq__ is doing a isinstance check - I would expect
> things which are "duck-type" equal to pass the __eq__ check.
>
> http://hg.python.org/cpython/file/5fb700ca3fd5/Lib/datetime.py

It's doing the isinstance to error out if you try to compare a datetime
against something like an integer or something. If that doesn't happen,
it goes into _cmp and does the actual work.

-- 
Cordially,
Noufal
http://nibrahim.net.in
_______________________________________________
BangPypers mailing list
[email protected]
https://mail.python.org/mailman/listinfo/bangpypers

Reply via email to