ホームページ > バックエンド開発 > Python チュートリアル > Python が文字列表現で二重バックスラッシュを表示するのはなぜですか?

Python が文字列表現で二重バックスラッシュを表示するのはなぜですか?

Susan Sarandon
リリース: 2024-12-17 03:17:24
オリジナル
370 人が閲覧しました

Why Does Python Show Double Backslashes in String Representations?

バックスラッシュを使用した文字列の表現

Python でバックスラッシュを含む文字列を定義する場合、バックスラッシュが 2 回表示されるように見える場合があります。この観察は、__repr__() メソッドによって作成された表現から生じます。

my_string = "why\does\it\happen?"
my_string
ログイン後にコピー

出力:

'why\does\it\happen?'
ログイン後にコピー
ログイン後にコピー

ただし、実際の文字列にはバックスラッシュが 1 つだけ含まれています。これを確認するには、次の文字列を出力します。

print(my_string)
ログイン後にコピー

Output:

why\does\it\happen?
ログイン後にコピー

バックスラッシュを含む文字列には、4 文字ではなく 3 文字が含まれます。

'a\b'
len('a\b')
ログイン後にコピー

Output:

'a\b'
3
ログイン後にコピー

文字列の標準表現は repr() を使用して取得できます。組み込み関数:

print(repr(my_string))
ログイン後にコピー

出力:

'why\does\it\happen?'
ログイン後にコピー
ログイン後にコピー

バックスラッシュはエスケープ文字であるため、Python はバックスラッシュを で表します。たとえば、n は改行を表し、t はタブを表します。

この表現は潜在的な混乱を防ぎます:

print("this\text\is\not\what\it\seems")
ログイン後にコピー

出力:

this    ext\is
ot\what\it\seems
ログイン後にコピー

明示的にバックスラッシュ文字そのもの、別のバックスラッシュ文字でエスケープするバックスラッシュ:

print("this\text\is\what\you\need")
ログイン後にコピー

出力:

this\text\is\what\you\need
ログイン後にコピー

要約すると、バックスラッシュを含む文字列の表現には、安全上の理由からエスケープされたバックスラッシュが含まれています。ただし、実際の文字列にはバックスラッシュが 1 つだけ含まれています。

以上がPython が文字列表現で二重バックスラッシュを表示するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート