How to prevent illegal definition of a variable in objects?
Daehyok Shin
sdhyok at email.unc.edu
Fri Jun 16 13:46:58 EDT 2000
More information about the Python-list mailing list
Fri Jun 16 13:46:58 EDT 2000
- Previous message (by thread): How to prevent illegal definition of a variable in objects?
- Next message (by thread): How to prevent illegal definition of a variable in objects?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
How can I get the DCI module? Peter "Fred Gansevles" <gansevle at cs.utwente.nl> wrote in message news:8ia4tv$e19$1 at nnrp1.deja.com... > In article <8i8ujt$hop$1 at news2.isis.unc.edu>, > "Daehyok Shin" <sdhyok at email.unc.edu> wrote: > > How can I prevent illegal definition of a variable to an object? > > For instance, > > > > class A: > > __init__(self): > > self.x = 1 > > > > __setattr__(self, name, value): > > if name == "x": > > self.x = value > > else: > > raise AttributeException > > > > __getattr__(self, name): > > if name == "x": > > return self.x > > else: > > raise AttributeException > > > > >>> a = A() > > >>> a.x = 10 > > >>> a.y = 20 # I want to raise an AttributeException. > > > > Peter > > > > > > Some time ago I posted my DCI module. This module also has a attribute > module wich can, among other atribute-related stuff, do this for you. > > For instance, > >>> import dci.attr > >>> class A: > ... def __init__(self): > ... dci.attr.init(self) # initialize the attribute mechanism > ... dci.attr.declare(self, 'x') > ... > >>> > >>> a = A() > >>> a.x = 10 > >>> a.y = 20 > Traceback (innermost last): > File "<stdin>", line 1, in ? > File "dci/attr.py", > line 52, in __setattr__ > raise AttributeError, "Undeclared attribute: %s" % `name` > AttributeError: Undeclared attribute: 'y' > > -- > ----------------------------------------------------------------------- > ---- Linux/Windows-NT/IntraNetware Administrator ---- > -- Whenever it sounds simple, I've probably missed something! ... Me -- > ----------------------------------------------------------------------- > > > Sent via Deja.com http://www.deja.com/ > Before you buy.
- Previous message (by thread): How to prevent illegal definition of a variable in objects?
- Next message (by thread): How to prevent illegal definition of a variable in objects?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list