A RetroSearch Logo

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

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2001-January/011373.html below:

[Python-Dev] function attributes as "true" class attributes & reclamation error

[Python-Dev] function attributes as "true" class attributes & reclamation error [Python-Dev] function attributes as "true" class attributes & reclamation errorGuido van Rossum guido@python.org
Sat, 06 Jan 2001 17:05:23 -0500
> You know, I thought of something (which was probably already obvious to the
> rest of you) while perusing Barry's patch.  Attaching function attributes to
> unbound methods could really function like C++ static data members.  You'd
> have to write accessor functions to make setting the attributes look clean,
> but that wouldn't be all bad.  Precisely because you couldn't modify them
> through the bound method, there's be no chance you could make the mistake of
> modifying them that way and having them transmogrify into instance
> attributes.
> 
> Here's a quick example:
> 
>     class C:
>       def __init__(self):
> 	self.just_resting()
>       __init__.howmany = 0
> 
>       def __del__(self):
> 	self.hes_dead()
> 
>       def hes_dead(self):
> 	C.__init__.howmany -= 1
> 
>       def just_resting(self):
> 	C.__init__.howmany += 1
> 
>       def howmany(self):
> 	return C.__init__.howmany
> 
>     def howmany():
> 	return C.__init__.howmany
> 
>     c = C()
>     print c.howmany()
>     d = C()
>     print d.howmany()
>     del c
>     print d.howmany()

Skip, I don't find this better than the existing solution, which uses
C._howmany instead of C.__init__.howmany.

True, you can access it as self._howmany and if you assign to
self._howmany you'd transform it into an instance attribute -- but
that falls in the "then don't do that" category.

--Guido van Rossum (home page: http://www.python.org/~guido/)



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