[Python-Dev] Re: [PEP 224] Attribute Docstrings (original) (raw)
Christian Tanzer tanzer@swing.co.at
Mon, 28 Aug 2000 18:27:44 +0200
- Previous message: [Python-Dev] Re: [PEP 224] Attribute Docstrings
- Next message: [Python-Dev] Re: [PEP 224] Attribute Docstrings
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"M.-A. Lemburg" <mal@lemburg.com> wrote:
> IMHO, David Goodger's (<dgoodger@bigfoot.com>) idea of using a > docs dictionary is a better solution: > =
> - It provides all docstrings for the attributes of an object in a > single place. > =
> * Handy in interactive mode. > * This simplifies the generation of documentation considerably. > =
> - It is easier to explain in the documentation =
The downside is that it doesn't work well together with class inheritance: docstrings of the above form can be overridden or inherited just like any other class attribute.
Yep. That's why David also proposed a doc' function combining the
docs' of a class with all its ancestor's docs.
> Normally, Python concatenates adjacent strings. It doesn't do this > with docstrings. I think Python's behavior would be more consistent > if docstrings were concatenated like any other strings. =
Huh ? It does... =
>>> class C: _... "first line"_ ... "second line" ... =
>>> C.doc 'first linesecond line' =
And the same works for the attribute doc strings too.
Surprise. I tried it this morning. Didn't use a backslash, though. And al= most =
overlooked it now.
> > b =3D 2 > > > > def x(self): > > "C.x doc string" > > y =3D 3 > > return 1 > > > > "b's doc string" > > > > Since the definition of method "x" currently does not reset the=
> > used assignment name variable, it is still valid when the compi= ler > > reaches the docstring "b's doc string" and thus assigns the str= ing > > to doc_b. > =
> This is rather surprising behavior. Does this mean that a string in > the middle of a function definition would be interpreted as the > docstring of the function? =
No, since at the beginning of the function the name variable is set to NULL.
Fine. Could the attribute docstrings follow the same pattern, then?
> > A possible solution to this problem would be resetting the name=
> > variable for all non-expression nodes. > =
> IMHO, David Goodger's proposal of indenting the docstring relative to= the > attribute it refers to is a better solution. > =
> If that requires too many changes to the parser, the name variable > should be reset for all statement nodes. =
See my other mail: indenting is only allowed for blocks of code and these are usually started with a colon -- doesn't work here.
Too bad.
It's-still-a-great-addition-to-Python ly, =
Christian
-- =
Christian Tanzer tanzer@swing.co.= at Glasauergasse 32 Tel: +43 1 876 62 = 36 A-1130 Vienna, Austria Fax: +43 1 877 66 = 92
- Previous message: [Python-Dev] Re: [PEP 224] Attribute Docstrings
- Next message: [Python-Dev] Re: [PEP 224] Attribute Docstrings
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]