Pythonの引用符

Pythonって知れば知るほど面白いよね。

Pythonでのコメントは行の先頭に「#」をつけると、その行がコメントになります。それは良いとして、Pythonでは単一引用符「'」と二重引用符「"」では、何か動作に違いがあるの?

わかりやすい例ではprint()での、それぞれの動作。

>>> print("%s" % "This is it!")
This is it!
>>> print('%s' % "This is it!")
This is it!

Perlでは、単一引用符「'」で囲まれていれば、その中に変数が存在しても変数と見なさず展開しない。しかし二重引用符「"」で囲まれていれば展開するって感じだと思うんだよ。それなのにPythonでは動作が同じ様に見えるのだが、同じと考えて問題ないのかな〜

>>> str = "This is a pen!"
>>> "Who are you str"
'Who are you str'
>>> 'Who are you str'
'Who are you str'

よくよく考えると、単一引用符、二重引用符で囲まれた中にある文字列が変数かどうかの区別がつかないよね。Perlだけだっけ、二重引用符の中に変数があれば展開するのって?忘れたな〜PHPRubyはどうだっけか!

Perlは「@」や「$」等々で変数ってことがわかるからね〜ん〜不思議に思えて仕方がない。