[Python-Dev] PEP 560: bases classes (original) (raw)
Koos Zevenhoven k7hoven at gmail.com
Wed Nov 15 14:04:25 EST 2017
- Previous message (by thread): [Python-Dev] PEP 560: bases classes / confusion
- Next message (by thread): [Python-Dev] module customization
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, Nov 15, 2017 at 5:37 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
On 16 November 2017 at 00:20, Jim J. Jewett <jimjjewett at gmail.com> wrote:
I think the following will happen:
"NewList[int]" will be evaluated, and classgetitem called, so that the bases tuple will be (A, GenericAlias(NewList, int), B) # (A) I think mroentries gets called with the full tuple, # instead of just the object it is found on. # (B) I think it is called on the results of evaluating # the terms within the tuple, instead of the original # string representation. tmp = mroentries(A, GenericAlias(NewList, int), B) # (C) I think mroentries returns a replacement for # just the single object, even though it was called on # the whole tuple, without knowing which object it # represents. bases = (A, tmp, B) My understanding of the method signature: def mroentries(self, origbases): ... return replacementforself My assumption as to the purpose of the extra complexity was: - given origbases, a method could avoid injecting bases already listed if it wanted to - allowing multiple items to be returned provides a way to programmatically combine mixins without having to define a new subclass for each combination
Thanks, this might provide an answer to my question about multiple mro entries here
https://mail.python.org/pipermail/python-ideas/2017-November/047897.html
––Koos
--
- Koos Zevenhoven + http://twitter.com/k7hoven + -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20171115/8ec72f45/attachment.html>
- Previous message (by thread): [Python-Dev] PEP 560: bases classes / confusion
- Next message (by thread): [Python-Dev] module customization
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]