By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,965 Members | 1,962 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,965 IT Pros & Developers. It's quick & easy.

Metaclass v.s. Property function.

P: n/a
I don't like the property function, usable in the new-style classes,
because having to remember to manage a list of "foo = property(...)"
assignments just plain sucks, so I wrote a metaclass that does things
a little differently. Please have a look and tell me whether this is
useful or impractical. The metaclass is here: http://pastebin.com/m5b06b571
and some simple testcode is here: http://pastebin.com/m382f2ae9.
Notice the first line though.

Thanks for any replies,

Jens Thiede.

Aug 11 '07 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Jens Thiede <je********@gmail.comwrote:
I don't like the property function, usable in the new-style classes,
because having to remember to manage a list of "foo = property(...)"
assignments just plain sucks, so I wrote a metaclass that does things
a little differently. Please have a look and tell me whether this is
useful or impractical. The metaclass is here:
http://pastebin.com/m5b06b571 and some simple testcode is here:
http://pastebin.com/m382f2ae9. Notice the first line though.
Here's something I posted a while back which lets you use property as a
decorator:

class C(object):
def __init__(self, colour):
self._colour = colour

@property.set
def colour(self, value):
self._colour = value

@property.get
def colour(self):
return self._colour

@property.delete
def colour(self):
self._colour = 'none'

See:
http://groups.google.co.uk/group/com...381be5edc26340

Whether you like that style is of course a matter of personal opinion.
Aug 11 '07 #2

P: n/a
On Aug 11, 7:33 am, Jens Thiede <jensthi...@gmail.comwrote:
I don't like the property function, usable in the new-style classes,
because having to remember to manage a list of "foo = property(...)"
assignments just plain sucks, so I wrote a metaclass that does things
a little differently. Please have a look and tell me whether this is
useful or impractical. The metaclass is here:http://pastebin.com/m5b06b571
and some simple testcode is here:http://pastebin.com/m382f2ae9.
Notice the first line though.
Are you overusing property, by any chance? In your example, bar seems
to be an unneeded property; it could just be a normal attribute.

Aug 11 '07 #3

P: n/a
On Aug 11, 6:06 pm, Duncan Booth <duncan.bo...@invalid.invalidwrote:
Jens Thiede <jensthi...@gmail.comwrote:
I don't like the property function, usable in the new-style classes,
because having to remember to manage a list of "foo = property(...)"
assignments just plain sucks, so I wrote a metaclass that does things
a little differently. Please have a look and tell me whether this is
useful or impractical. The metaclass is here:
http://pastebin.com/m5b06b571and some simple testcode is here:
http://pastebin.com/m382f2ae9. Notice the first line though.

Here's something I posted a while back which lets you use property as a
decorator:

class C(object):
def __init__(self, colour):
self._colour = colour

@property.set
def colour(self, value):
self._colour = value

@property.get
def colour(self):
return self._colour

@property.delete
def colour(self):
self._colour = 'none'

See:http://groups.google.co.uk/group/com...e_thread/threa...

Whether you like that style is of course a matter of personal opinion.
Thanks, a very simple but a great and more "pythonic" idea.

Aug 14 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.