ホームページ > バックエンド開発 > Python チュートリアル > Python で文字列値の前に「u」接頭辞が表示されるのはなぜですか?

Python で文字列値の前に「u」接頭辞が表示されるのはなぜですか?

Barbara Streisand
リリース: 2024-11-03 13:24:03
オリジナル
783 人が閲覧しました

Why does a

Pythonにおける文字列値の前に表示される「u」記号の意味

フォームレンダリング時に、特定の文字列値の前に「u」という記号が表示されるのはなぜでしょうか?

このような記号が表示されるのは、文字列がユニコード文字列であることを示しています。ユニコードは、通常の ASCIIでは表現できない追加の文字を表現するための方法です。「u」が表示されているということは、Python 2を使用していることを意味します。Python 3では文字列はデフォルトでユニコードですが、Python 2では前に「u」が付いていることでユニコード文字列が区別されます。以降の回答では、Python 2に重点を置いて説明します。

ユニコード文字列を作成する方法は複数あります。

<code class="python">>>> u'foo'
u'foo'
>>> unicode('foo') # Python 2のみ
u'foo'</code>
ログイン後にコピー

ただし、次のようなものを表現するには「u」が不可欠です(以下に翻訳)。

<code class="python">>>> val = u'Ознакомьтесь с документацией'
>>> val
u'\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439'
>>> print(val)
Ознакомьтесь с документацией</code>
ログイン後にコピー

Python 2では、ユニコード文字列と非ユニコード文字列はほとんどの場合相互運用できます。

表示される他の記号として、バックラッシュを解釈しない文字列を示す「raw」記号の「r」があります。これは正規表現の記述に非常に便利です。

<code class="python">>>> 'foo\"'
'foo"'
>>> r'foo\"'
'foo\"'</code>
ログイン後にコピー

Python 2では、ユニコード文字列と非ユニコード文字列は等しくなる場合があります。

<code class="python">>>> bird1 = unicode('unladen swallow')
>>> bird2 = 'unladen swallow'
>>> bird1 == bird2
True</code>
ログイン後にコピー

ただし、Python 3では等しくありません。

<code class="python">>>> x = u'asdf' # Python 3
>>> y = b'asdf' # bはバイト文字列を示す
>>> x == y
False</code>
ログイン後にコピー

以上がPython で文字列値の前に「u」接頭辞が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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