Should I use a metaclass, class decorator, or override the __new__ method?
Posted
by 007brendan
on Stack Overflow
See other posts from Stack Overflow
or by 007brendan
Published on 2010-03-23T21:15:29Z
Indexed on
2010/03/23
22:23 UTC
Read the original article
Hit count: 252
Here is my problem. I want the following class to have a bunch of property attributes. I could either write them all out like foo
and bar
, or based on some other examples I've seen, it looks like I could use a class decorator, a metaclass, or override the __new__
method to set the properties automagically. I'm just not sure what the "right" way to do it would be.
class Test(object):
def calculate_attr(self, attr):
# do calculaty stuff
return attr
@property
def foo(self):
return self.calculate_attr('foo')
@property
def bar(self):
return self.calculate_attr('bar')
© Stack Overflow or respective owner