Pythonでは、文字列リテラルと文字列値は異なる概念です。

文字列リテラルとは

文字列リテラルは、プログラムのソースコードに直接書き込むテキストのことを指します。文字列リテラルは、Pythonに特定の内容の文字列を作成するよう指示します。例えば、'asdf'''' 複数行の内容 ''''この最後には改行があります\\n' などがあります。

文字列リテラル(raw文字列リテラルを除く)では、エスケープシーケンスと呼ばれる特殊な文字列が、実際の文字列では異なる文字に置き換えられます。例えば、文字列リテラル中のエスケープシーケンス \\n は、実際の文字列では改行文字に置き換えられます。エスケープシーケンスはバックスラッシュで始まります。

文字列値とは

文字列値は、テキスト値を表すPythonオブジェクトのことを指します。文字列値は、文字列リテラルから作成することもありますし、ファイルから読み取ることもありますし、他の多くのソースから生成することもあります。文字列中のバックスラッシュは特別な意味を持たず、文字列の可能なソースのほとんどではバックスラッシュは特別な意味を持ちません。

例えば、次のようなバックスラッシュを含むファイルがあるとします。

asdf\\n

このファイルを次のように読み込むと、

with open('that_file.txt') as f:
    text = f.read()

ファイル中の \\n は改行に置き換えられません。バックスラッシュは文字列リテラル中では特別ですが、ほとんどの他のコンテキストでは特別ではありません。

まとめ

Pythonの文字列リテラルと文字列値の理解は、Pythonプログラミングの基本的な部分です。これらの違いを理解することで、Pythonでの文字列操作がより明確になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です