A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2017-September/149396.html below:

[Python-Dev] PEP 549 v2: now titled Instance Descriptors

[Python-Dev] PEP 549 v2: now titled Instance Descriptors [Python-Dev] PEP 549 v2: now titled Instance DescriptorsEthan Furman ethan at stoneleaf.us
Fri Sep 8 16:45:13 EDT 2017
On 09/08/2017 12:44 PM, Larry Hastings wrote:

> I've updated PEP 549 with a new title--"Instance Descriptors" is a better name than "Instance Properties"--and to
> clarify my rationale for the PEP.  I've also updated the prototype with code cleanups and a new type:
> "collections.abc.InstanceDescriptor", a base class that allows user classes to be instance descriptors.

I like the new title, I'm +0 on the PEP itself, and I have one correction for the PEP:  we've had the ability to 
simulate module properties for ages:

     Python 2.7.6 (default, Oct 26 2016, 20:32:47)
     [GCC 4.8.4] on linux2
     Type "help", "copyright", "credits" or "license" for more information.
     --> import module_class
     --> module_class.hello
     'hello'
     --> module_class.hello = 'hola'
     --> module_class.hello
     'hola'

And the code:

     class ModuleClass(object):
         @property
         def hello(self):
             try:
                 return self._greeting
             except AttributeError:
                 return 'hello'
         @hello.setter
         def hello(self, value):
             self._greeting = value

     import sys
     sys.modules[__name__] = ModuleClass()

I will admit I don't see what reassigning the __class__ attribute on a module did for us.

--
~Ethan~
More information about the Python-Dev mailing list

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