I think the logic breaks down with multiple inheritance. If you make C(A,
B), then you can say C > A and C > B, but then you can't say A > B or A < B
which breaks sorting.

If you want to know if a B inherits from Base, then I think `Base in
B.mro()` will cover that just as succinctly. And if you need to know
position you can compare indexes into the MRO.

On Fri, Jun 14, 2019 at 1:06 AM eminbugrasaral--- via Python-ideas <
python-ideas@python.org> wrote:

> Let's assume you have this model:
>
> ```
> class Base:
>     pass
>
> class A(Base):
>     pass
>
> class B(Base):
>     pass
>
> class C(A):
>    pass
> ```
>
> While we can do `A == B`, or `B == C` or `B == B`, I would expect to be
> able to compare like this as well: `A >= B (if B is subclass or itself of
> A)`, or `B <= C (if B is a subclass or itself of C)`
>
> Because, since == means equality check. With the same logic, a class wraps
> another class is actually greater than this class from its type.
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/6W7HCI4UIEAUD6AVLFSJF5Q2X55LWYZA/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/IFW2UQNCCNYFZH3TFKD26WH7SKCP4YKT/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to