[Python-3000] ABC PEP isinstance issue Was: PEP 31XX: A Type Hierarchy for Numbers (and other algebraic entities) (original) (raw)
Jim Jewett jimjjewett at gmail.com
Sun Apr 29 17:40:52 CEST 2007
- Previous message: [Python-3000] ABC PEP isinstance issue Was: PEP 31XX: A Type Hierarchy for Numbers (and other algebraic entities)
- Next message: [Python-3000] ABC PEP isinstance issue Was: PEP 31XX: A Type Hierarchy for Numbers (and other algebraic entities)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 4/28/07, Calvin Spealman <ironfroggy at gmail.com> wrote:
I'm just going to jump into this and voice a concern that allowing overriding of isinstance and issubclass seems like a Bad Idea.
I'm also uncomfortable, which is why I originally suggested a parallel predicate. That said, I can't put my finger on why it is wrong, so I'm not certain that a parallel predicate (isa?) would be better.
Guido wrote:
Note though that only the second argument to either function can overload the rules. IOW if you write isinstance(x, C), there is no way that x could attempt to lie; but C could.
As Barry pointed out, this means a class can't easily say "my parent may well implement ABC, but I don't." That special case could be added to the default overriding behavior, but ... it starts to get fragile.
-jJ
- Previous message: [Python-3000] ABC PEP isinstance issue Was: PEP 31XX: A Type Hierarchy for Numbers (and other algebraic entities)
- Next message: [Python-3000] ABC PEP isinstance issue Was: PEP 31XX: A Type Hierarchy for Numbers (and other algebraic entities)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]