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

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

Mary-Kate Olsen
リリース: 2024-12-30 15:14:19
オリジナル
995 人が閲覧しました

Why are Backslashes Doubled When Displaying Python Strings?

バックスラッシュが 2 回表示される理由

Python でバックスラッシュを含む文字列を保存すると、バックスラッシュが 2 回表示されることに気づくかもしれません。これは、__repr__() メソッドを使用して文字列表現を取得するときに発生します。代わりに print() を使用すると、意図したとおりバックスラッシュが 1 つだけであることがわかります。

>>> my_string = "why\does\it\happen?"
>>> my_string
'why\does\it\happen?'

>>> print(my_string)
why\does\it\happen?
ログイン後にコピー

表現では 2 倍になっているにもかかわらず、その長さでわかるように、文字列自体には 1 つのバックスラッシュのみが含まれています。 :

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

文字列の標準表現を取得するには、 repr() を利用します。 function:

>>> 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
ログイン後にコピー

バックスラッシュのリテラルの外観を指定するには、バックスラッシュを 2 倍にします:

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

結論として、文字列表現を取得するとき、Python はエスケープします。安全のため、すべてバックスラッシュを使用します。ただし、実際の文字列にはバックスラッシュが 1 つだけ含まれています。 Python の文字列リテラルの詳細については、公式ドキュメントを参照してください。

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

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