On Tue, Sep 19, 2017 at 8:26 PM, Rick Johnson <rantingrickjohn...@gmail.com> wrote: > In the spirit of my last comment, i was going to say: "Or if > `x` does not support rich comparisons", but alas, it seems that > _all_ objects in Python support rich comparisons, even when > it doesn't make sense to! o_O For example: > > >>> False > 1 > False > >>> dir > 1 > True > >>> isinstance < 100 > False > >>> "" >= 10 > True > >>> (1,) <= 500 > False
Rick, I'm pretty sure you already know that you're being deceptive here. If anyone else comes across this and doesn't already realize it, note that Rick is complaining about behavior that changed almost a decade ago (with the release of Python 3.0). Here's what a modern python does with those same statements: Python 3.5.2 (default, Aug 18 2017, 17:48:00) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> False > 1 False >>> dir > 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unorderable types: builtin_function_or_method() > int() >>> isinstance < 100 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unorderable types: builtin_function_or_method() < int() >>> "" >= 10 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unorderable types: str() >= int() >>> (1,) <= 500 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unorderable types: tuple() <= int() >>> -- Jerry -- https://mail.python.org/mailman/listinfo/python-list