I need to check if some objects obey the descriptor protocol in the construction of a metaclass. I expect to be able to write something like: if isinstance(myobj, abc.DataDescriptor): # do something The other idea crossing my mind is something like: if all(hasattr(myobj, attr) for attr in ('__get__', '__set__')): # do something El mar., 17 ene. 2017 a las 18:07, Guido van Rossum (<guido at python.org>) escribió: > Well, these are an example of the purest duck typing. Just implement > __get__ and/or __set__ (and __delete__) and you're good. > > What's the situation where you miss them? > > --Guido > > On Tue, Jan 17, 2017 at 8:51 AM, Roberto Martínez < > robertomartinezp at gmail.com> wrote: > > Hi, > > I miss abstract base classes in collections.abc implementing the > descriptor protocol. Any reason why they do not exist? > > What do you think of adding NonDataDescriptor and DataDescriptor ABCs? > > Best regards, > Roberto > > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > https://mail.python.org/mailman/options/python-dev/guido%40python.org > > > > > -- > --Guido van Rossum (python.org/~guido) > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20170117/e9d57120/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4