Heim >Backend-Entwicklung >Python-Tutorial >Warum erscheint in Python vor String-Werten das Präfix „u'?

Warum erscheint in Python vor String-Werten das Präfix „u'?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 13:24:03800Durchsuche

Why does a

Bedeutung des „u“-Symbols, das vor String-Werten in Python erscheint

Beim Rendern eines Formulars ein bestimmter String-Wert Warum Gibt es ein „u“-Symbol vor dem ?

Wenn Sie ein Symbol wie dieses sehen, bedeutet dies, dass es sich bei der Zeichenfolge um eine Unicode-Zeichenfolge handelt. Unicode ist eine Möglichkeit, zusätzliche Zeichen darzustellen, die im regulären ASCII nicht dargestellt werden können. Wenn Sie ein „u“ sehen, bedeutet das, dass Sie Python 2 verwenden. In Python 3 sind Zeichenfolgen standardmäßig Unicode, in Python 2 werden Unicode-Zeichenfolgen jedoch durch ein führendes „u“ unterschieden. Nachfolgende Antworten konzentrieren sich auf Python 2.

Es gibt mehrere Möglichkeiten, Unicode-Strings zu erstellen.

<code class="python">>>> u'foo'
u'foo'
>>> unicode('foo') # Python 2のみ
u'foo'</code>

Allerdings ist „u“ wichtig, um etwa Folgendes auszudrücken (unten übersetzt):

<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>

In Python 2 sind Unicode- und Nicht-Unicode-Strings in den meisten Fällen interoperabel.

Andere Symbole, die möglicherweise erscheinen, umfassen ein „r“ für das „raw“-Symbol, das auf eine Zeichenfolge hinweist, die keine Rückschläge interpretiert. Dies ist sehr nützlich zum Schreiben regulärer Ausdrücke.

<code class="python">>>> 'foo\"'
'foo"'
>>> r'foo\"'
'foo\"'</code>

In Python 2 können Unicode- und Nicht-Unicode-Zeichenfolgen gleich sein.

<code class="python">>>> bird1 = unicode('unladen swallow')
>>> bird2 = 'unladen swallow'
>>> bird1 == bird2
True</code>

In Python 3 sind sie jedoch nicht gleich.

<code class="python">>>> x = u'asdf' # Python 3
>>> y = b'asdf' # bはバイト文字列を示す
>>> x == y
False</code>

Das obige ist der detaillierte Inhalt vonWarum erscheint in Python vor String-Werten das Präfix „u'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn