On 21/08/2012 17:44, Miki Tebeka wrote:
Greetings,

class A:
...     '''a doc string'''
...
A.__doc__
'a doc string'
class B:
...     '''a {} string'''.format('doc')
...
B.__doc__


Is there's a reason for this?

I know I can do:
class B:
...    __doc__ = '''a {} string'''.format('doc')

And it'll work, but I wonder why the first B docstring is empty.

I think what's happening is that it's being parsed and then checked to
see whether it's a string literal.

This:

    "doc string"

is OK, as is this:

    "doc" "string"

(implied concatenation) and this:

   ("doc string")

but this isn't:

    "doc" + " string"

because its syntax is:

    ADD(STRING_LITERAL, STRING_LITERAL)

In other words, it's looking at the syntax, not the resulting value.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to