この記事では、Pythonの文字列リテラルについて解説します。
リテラルとは、ソースコードに直接記述された値のことです。つまり、文字列リテラルとはソースコードに直接記述された文字列のことです。
結構できることが多いので一つ記事にまとめさせて頂きました。
それでは、文字列リテラルの使い方を見ていきましょう!
文字列リテラルとは?
文字列リテラルとは、その名の通り「文字列」の「リテラル」です。「ソースコード中に直接記述された文字列のこと」を言います。
以下のように、シングルクォート(')
、またはダブルクォート(")
で囲んで表現します。
s = '文字列です'
s = "文字列です"
また、シングルクォート(')
、またはダブルクォート(")
3つで囲むことで複数行文字列を表現することができます。
s = '''あいうえお
かきくけこ
さしすせそ'''
print(s)
実行結果
あいうえお
かきくけこ
さしすせそ
文字列リテラルは、隣接して記述することで結合させることが可能です。
s = 'Hello' "World"
print(s)
実行結果
HelloWorld
リテラルは、プログラム実行時に必ず同じ値となるので定数と呼ばれたりもします。
エスケープシーケンス(特殊文字)
エスケープシーケンスとは、改行やタブなどの普通では表現できない文字を使用するための記述方法です。例えば、以下のようなものがあります。
\n | 改行 |
---|---|
\t | タブ |
\' | シングルクォーテーション |
\" | ダブルクォーテーション |
他にもたくさん用意されています。気になる方は以下のリンクを参照してください❗️
参考文字列およびバイト列リテラル - 字句解析 — Python ドキュメント
サンプル
試しにエスケープシーケンスを含んだ文字列を出力してみます。
s = '\tHello\n\tWorld'
print(s)
実行結果
Hello
World
エスケープシーケンスを使うことで文字列に改行やタブを記述することができます。
文字列リテラルとして使用していないクォーテーションを文字列中に記述することで、エスケープシーケンスを使わずともクォーテーションを記述できる。
print('a"b"c')
print("d'e'f")
実行結果
a"b"c
d'e'f
文字列リテラルのプレフィックス(接頭辞)
文字列リテラルの前に特定の文字を記述することで様々な効果をもたらすことができます。
バイト列リテラル
文字列リテラルの前にb
、またはB
を付けることで「バイト列リテラル」として扱うことができます。
b = b'Hello'
print(b, type(b))
実行結果
b'Hello' <class 'bytes'>
エスケープの無効
文字列リテラルの前にr
、またはR
を付けることでバックスラッシュをリテラル文字として扱います。なので、エースケープシーケンスが通常の文字として扱われる。
s = r'\tHello\n\tWorld'
print(s)
実行結果
\tHello\n\tWorld
フォーマット済み文字列リテラル
文字列リテラルの前にf
、またはF
を付けることで「フォーマット済み文字列リテラル」として扱います。値を文字列に埋め込む際に便利です。
x = 4
y = 7
s = f'{x} * {y} = {x * y}'
print(s)
実行結果
4 * 7 = 28
まとめ
この記事では、Pythonの文字列リテラルについて解説しました。
文字列リテラルはリテラルのくせに(?)結構できることが多いんですね〜!
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ