> Was there a reason that __slots__ makes initialized > variables read-only? It would be useful to have > overridable default values (even if it entailed copying > them into an instance's slots): > > class Pane(object): > __slots__ = ('background', 'foreground', 'size', 'content') > background = 'black' > foreground = 'white' > size = (80, 25) > > p = Pane() > p.background = 'light blue' # override the default > assert p.foreground == 'white' # other defaults still in-place You can't do that. The class variable 'background' overrides the descriptor created by __slots__. background now appears read-only because there is no instance dict. --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