Python の生の文字列と Unicode 文字列

Neema Muganga 2023年1月30日
  1. Python の生の文字列
  2. Python Unicode 文字列
Python の生の文字列と Unicode 文字列

Python の生の文字列

Python の生の文字列リテラルは、開始引用符の前に r または R のいずれかが前に付いた通常の文字列を定義します。文字列にバックスラッシュ(\)が含まれている場合、生の文字列はこの文字をリテラル文字として扱いますが、エスケープ文字としては扱いません。

例えば、

print(r"\n")
print(r"\t")

出力:

\n
\t

文字列を定義するときは、改行や新しいタブなどのエスケープシーケンスの開始と間違えられないように、すべてのバックスラッシュを 2 倍にする必要があります。このような構文アプリケーションは、正規表現の構文や Windows ファイルパスを表現するときに見られます。

注:r はバックスラッシュをリテラルとして扱うため、r'\'は構文エラーを発生させます。r プレフィックスがない場合、バックスラッシュはエスケープ文字として扱われます。

例:

text = "Hello\nWorld"
print(text)

出力:

Hello
World

生の文字列フラグ r がない場合、バックスラッシュはエスケープ文字として扱われるため、上記の文字列が出力されると、新しい行のエスケープシーケンスが生成されます。したがって、テキスト内の 2つの文字列は、出力に表示されるように、別々の行に出力されます。

同じテキストの例を使用して、文字列の前に r プレフィックスを追加します。

例:

text = r"Hello\nWorld"
print(text)

出力:

Hello\nWorld

出力から、生の文字列フラグはバックスラッシュをリテラルとして扱い、バックスラッシュが含まれているテキストを出力します。したがって、バックスラッシュはエスケープされないため、入力と出力はどちらも同じです。

たとえば、'\\n'r'\n'の値は同じです。

print("\\n")
print(r"\n")

Python Unicode 文字列

Unicode は、Python 文字列を格納する 1つの方法です。Unicode は、すべての言語タイプの文字列を格納できます。2 番目の方法は、Python で str として表される ASCII タイプの文字列ストレージです。str は、Python で文字列を格納するためのデフォルトのデータ型です。

文字列を Unicode タイプに変換するには、次のようにテキストの前に u を配置します-u'string'またはこのように unicode() 関数を呼び出します-unicode('string')

u'text'は Unicode 文字列であり、text はバイト文字列です。Unicode オブジェクトはより多くのメモリスペースを必要とします。

例えば、

test = u"一二三"
print(test)

出力:

一二三

関連記事 - Python String