are docstrings for variables a bad idea?
Roy Smith
roy at panix.com
Fri Apr 21 09:02:23 EDT 2006
In article <1145615763.943050.170950 at j33g2000cwa.googlegroups.com>,
"jelle" <jelleferinga at gmail.com> wrote:
> When programming a more complex class, it would be quite helpful that
> these annotations would pop-up as a docstring.
I'm currently working with a OO database system that lets you attach a doc
string not just to classes, but also to attributes, relationships, pretty
much anything. It's very useful.
That being said, I'm not sure how such a thing would work in Python. In
what I'm used to, the doc strings are attached to the variable declarations
in the class definition, so there's just one copy of the string per class.
Python doesn't work that way. In Python, if I were to write:
class GeographicCoordinate:
def __init__ (self, lat, long):
self.lat = lat "Latitude in degrees (positive North), per WGS84"
self.long = long "Longitude in degrees (positive West), per WGS84"
each *instance* of GeographicCoordinate gets a self.lat and a self.long
created in it, with no relationship between the attributes of one instance
and another. Where would the doc strings go? The only logical place would
be to have one copy per instance, which would be very wasteful.
On the other hand, since strings get interned, maybe it wouldn't be so bad.
On the third hand, I guess the doc strings could get attached to the
class's __slots__, which would immediately lead to more "but that's not
what __slots__ was intended for" arguments :-)
More information about the Python-list
mailing list