[Python-Dev] PEP 8 addition: Preferred property style?

Gerrit Holl gerrit at nl.linux.org
Thu Jan 22 15:03:44 EST 2004


currently, PEP 8 does not have any advice about the preferred style
in defining properties. There are only two places in the standard
library where they are used (socket.py and xml/dom/minicompat.py), so
that doesn't provide much information either. Personally, I don't like the
namespace cluttering caused by defining __get, __set and/or __del. Since
I saw someone[0] on c.l.py using it, I always use this style:

    def mtime():
        doc = "Modification time"

        def get(self):
            return os.path.getmtime(str(self))

        def set(self, t):
            return os.utime(str(self), (self.atime, t))

        return get, set, None, doc
    mtime = property(*mtime())

I like it, because it's very readable for me, and doesn't clutter the
namespace. Two questions about this style:

    - Is it tolerable to use it in the standard library (PrePEP)?
    - Should it be advised for or against in PEP 8, or neither?


[0] http://tinyurl.com/2rydd

More information about the Python-Dev mailing list