On 30 Jan 2006 16:29:15 -0800
"dmh2000" <[EMAIL PROTECTED]> wrote:
> I recently complained elsewhere that Python doesn't have
> multiline comments. i was told to use triple quoted
> strings to make multiline comments. My question is that
> since a triple quoted string is actually a language
> construct, does it use cause a runtime construction of a
> string which is then discarded, or is the runtime smart
> enough to see that it isn't used and so it doesn't
> construct it?
> 
> example
> 
> def fun(self):
>   """doc comment
>       comment line 2
>   """

This is specifically a "docstring" so it remains attached as
an attribute of fun: fun.__doc__

>   x = 1
>   y = 2
> 
>   """does this triple quoted string used as a  comment
>       cause something to happen at runtime beyond
>       just skipping over it? Such as allocation of memory
>       for a string or worse yet garbage collection? or
>       not?
>   """

This string is really unused. It will produce a value when
processed the first time, but it's not bound so it gets
immediately garbage-collected. And it won't be there after
the module is byte-compiled. So, you lose a little time the
very first time the file is used (but that's technically
true for a regular comment too -- I think this loses you a
little more time).  But it's pretty trivial in practice,
because every subsequent time, it's gone.

>   z = x + y


At least, this is how I understand it.

Cheers,
Terry


-- 
Terry Hancock ([EMAIL PROTECTED])
Anansi Spaceworks http://www.AnansiSpaceworks.com

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to