[Python-Dev] Clarification on MRO when inheriting from builtin type.
Paul Sokolovsky
pmiscml at gmail.com
Mon Apr 28 04:59:45 CEST 2014
More information about the Python-Dev mailing list
Mon Apr 28 04:59:45 CEST 2014
- Previous message: [Python-Dev] Commit-ready patches needing review
- Next message: [Python-Dev] Clarification on MRO when inheriting from builtin type.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello, I used http://python-history.blogspot.com/2010/06/method-resolution-order.html and https://www.python.org/download/releases/2.3/mro/ as the reference, but it doesn't explain MRO in the following example (python3.4): ~~~~ class User: def __str__(self): return "User.__str__" def append(self, a): print("User", a) class C(list, User): pass t = C([1, 2, 3]) print(t) t.append(10) print(t) print(t[-1]) ~~~~ The output is: ===== User.__str__ User.__str__ 10 ===== From the output, "User" class as expected does not override list.append(), but does override list.__str__(). Is this behavior documented somewhere (complete arrangement)? What's the rationale behind it? I need this info to implement MRO in an alternative Python implementation (MicroPython). Thanks, Paul mailto:pmiscml at gmail.com
- Previous message: [Python-Dev] Commit-ready patches needing review
- Next message: [Python-Dev] Clarification on MRO when inheriting from builtin type.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list