Categories: Python

【Python】文字列リテラルについて解説します

この記事では、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】文字列に値を埋め込む方法【フォーマット】この記事では、Pythonの文字列中に値を埋め込む方法を解説します。文字列に値を埋め込むことで文字列を整形しながら見やすく出力することができます。それでは、文字列に値の埋め込む方法を見ていきましょう!...

まとめ

この記事では、Pythonの文字列リテラルについて解説しました。

文字列リテラルはリテラルのくせに(?)結構できることが多いんですね〜!

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

View Comments

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

4か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago