Python Strings as Comments

The question was:

In Python we can emulate multiline comments using triple-quoted
strings, but conceptually strings and comments are very different.
I.e. strings are objects, comments are auxillary text discarded at
compile time. Strings are objects created at runtime, comments are
not.

The answer from Steven D'Aprano:

Guido's time-machine strikes again.



>>> import dis
>>> def test():
... x = 1
... """
... This is a triple-quote comment.
... """
... return x
...
>>> dis.dis(test)
2 0 LOAD_CONST 1 (1)
3 STORE_FAST 0 (x)

6 6 LOAD_FAST 0 (x)
9 RETURN_VALUE



String literals -- not just triple-quoted strings, but any string
literal -- that don't go anywhere are discarded by the Python compiler,
precisely so they can be used as comments.

No comments: