data strucutures in python
Jeff Petkau
jpet at eskimo.com
Thu Sep 21 01:42:04 EDT 2000
More information about the Python-list mailing list
Thu Sep 21 01:42:04 EDT 2000
- Previous message (by thread): data strucutures in python
- Next message (by thread): data strucutures in python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Kragen Sitaker <kragen at dnaco.net> wrote in message news:jlWx5.448$mc3.45617 at news-east.usenetserver.com... > I was chatting with a coworker about this today. He mentioned that C# > has a neat way of declaring active properties --- you say something > like: > > class foo { > property lambda { > int get() { code here } > void set() { code here } > }; > }; > > and then the code in the get and set "methods" will be invoked to > implement reading or writing the property "lambda" of any object of the > class "foo". How about this: # evil_things.py --------------- def magic_getattr(self,name): return getattr(self,'get'+name)() def magic_setattr(self,name,value): return apply(getattr(self,'set'+name),(value,)) #------------------------------ # test.py ------------------- # See how those evil things work import evil_things class C: def getX(self): return 3 def setX(self,value): print "ha! still 3" __getattr__ = evil_things.magic_getattr __setattr__ = evil_things.magic_setattr # now C has properties! c = C() c.X = 20 --> ha! still 3 print c.X --> 3 ps. Don't try this at home. --Jeff (jpet at eskimo.com)
- Previous message (by thread): data strucutures in python
- Next message (by thread): data strucutures in python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list