>백엔드 개발 >파이썬 튜토리얼 >Python에서 문자열 값 앞에 \'u\' 접두사가 나타나는 이유는 무엇입니까?

Python에서 문자열 값 앞에 \'u\' 접두사가 나타나는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 13:24:03791검색

Why does a

Python에서 문자열 값 앞에 표시되는 'u' 기호의 의미

양식 렌더링 시 특정 문자열 값 앞에 'u'라는 기호가 표시되는 이유는 무엇입니까?

이러한 기호가 표시되는 것은 문자열이 유니코드 문자열임을 나타냅니다. 유니 코드는 일반 ASCII에서는 표현할 수없는 추가 문자를 표현하는 방법입니다. 'u'가 표시된다는 것은 Python 2를 사용하고 있음을 의미합니다. Python 3에서는 문자열이 기본적으로 유니 코드이지만 Python 2에서는 이전에 "u"가 붙어 유니 코드 문자열을 구별합니다. 이후의 답변에서는 파이썬 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>

그러나 파이썬 3에서는 동일하지 않습니다.

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

위 내용은 Python에서 문자열 값 앞에 'u' 접두사가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.