文字列リテラルの書き方 | Python入門

シングルクォート文字列とダブルクォート文字列

文字列リテラルは、文字列をシングルクォートかダブルクォートで囲みます。どちらを使ってもPythonは同じように扱います。

'Hello, world!'
"Hello, world!"

文字列にシングルクォートを含める場合はダブルクォートで囲み、ダブルクォートを含める場合にはシングルクォートで囲むのが便利です。シングルクォートやダブルクォートを含めるには、この後説明するエスケープシーケンスも使えます。

エスケープシーケンス

文字列リテラルの中にはエスケープシーケンスを使えます。

エスケープシーケンスの一覧
エスケープシーケンス
意味
\<改行>バックスラッシュと改行文字が無視されます
\\バックスラッシュ(\)
\'シングルクォート(')
\"ダブルクォート(")
\aASCIIのベル(BEL)
\bASCIIのバックスペース(BS)
\fASCIIのフォームフィード(FF)
\nASCIIの改行(LF)
\rASCIIの復帰(CR)
\tASCIIの水平タブ(TAB)
\vASCIIの垂直タブ(VT)
\ooo8進数値ooo(1桁から3桁)を持つUnicode文字
\xhh16進数値hhを持つUnicode文字
\N{name}Unicodeデータベース中でnameという名前の文字
\uxxxx16ビットの16進値xxxxを持つUnicode文字
\Uxxxxxxxx32ビットの16進値xxxxxxxxを持つUnicode文字

次の例は2つの改行文字(\n)で区切られているので3行で表示される。


>>> print('"Line 1"\n"Line 2"\n"Line 3"')
"Line 1"
"Line 2"
"Line 3"

この例では文字列をシングルクウォートで囲っているので内側のダブルクォートをエスケープする必要はありません。ここでprint()を使っているのには理由がある。対話的インタープリタはプログラマ向けにエスケープシーケンスのいくつかをそのまま表示するからである。


>>> '"Line 1"\n"Line 2"\n"Line 3"'
'"Line 1"\n"Line 2"\n"Line 3"'

トリプルクウォート

3個のシングルクォート(''')や3個のダブルクォート(""")を使うこともできます。これらのトリプルクォート文字列の中にはシングルクォート、ダブルクォートそして改行文字列などをそのまま記述することができます。


poem = '''\
On Fame

What is the end of fame? 't is but to fill
 A certain portion of uncertain paper:
Some liken it to climbing up a hill,
 Whose summit, like all hills, is lost in vapor;
For this men write, speak, preach, and heroes kill,
 And bards burn what they call their “ midnight taper,”
To have, when the original is dust,
A name, a wretched picture, and worse bust.'''

投稿日:

Copyright© アナグマのモノローグ , 2021 All Rights Reserved Powered by STINGER.