python 문자열 앞에 r, f, u, l의 차이를 간단히 분석하다

먼저 파이썬 문자열 앞에 u,r,b,f의 의미를 추가합니다 (문자열 접두사)

1. 문자열 앞에 u 추가


예: u "나는 중국어 문자로 구성된 문자열입니다."
역할:
뒤에 있는 문자열은 유니코드 형식으로 인코딩되며, 일반적으로 중국어 문자열 앞에 사용되며, 원본 저장 형식 문제로 인해 다시 사용할 때 오류가 발생하는 것을 방지합니다.

2. 문자열 앞에 r 더하기


예: r ""# 은 줄 바꿈 대신 일반 문자열을 나타냅니다.
역할:
반사봉의 이동 메커니즘을 없애다.
(특수 문자: 즉, 반사봉에 대응하는 알파벳을 붙여서 대응하는 특수한 의미를 나타낸다. 예를 들어 가장 흔히 볼 수 있는 "은 줄을 바꾸고,"\t"는 Tab 등을 나타낸다.)
적용:
정규 표현식에 자주 사용되며,re모듈에 대응한다.

3. 문자열 앞에 b 추가


예:response=b'

Hello World!

'#b'는 bytes 대상임을 나타낸다
역할:
b ""접두사는 다음 문자열이bytes 형식임을 나타냅니다.
용도:
네트워크 프로그래밍에서 서버와 브라우저는 bytes 형식의 데이터만 인정합니다.
예를 들어:send 함수의 매개 변수와recv 함수의 반환값은bytes 형식입니다
첨부:
Python3에서bytes와str의 상호 전환 방식은

str.encode('utf-8')
bytes.decode('utf-8')
4, 문자열 앞에 f 추가

import time
t0 = time.time()
time.sleep(1)
name = 'processing'

#   f python  
print(f'{name} done in {time.time() - t0:.2f} s')
출력:
processing done in 1.00 s
다음에python 문자열 앞에 r, f, u, l의 차이를 소개합니다
f-strings는 f나 F로 시작하는 문자열을 가리키며, {}에 포함된 표현식은 값을 대체합니다.(현재 python3.6 버전 지원)
다음은 f-strings의 사용법을 보겠습니다.
기본 사용 (역할: 대체 값)

>>>name = 'xiaoming'
>>> age = 18
>>> f"hi, {name}, are you {age}"
# 
'hi, xiaoming, are you 18'
>>> F"hi, {name}, are you {age}"
'hi, xiaoming, are you 18'
문자열 앞에 r를 추가하면 문자열의 의미를 방지할 수 있습니다
역할: 의미가 특수하거나 인쇄할 수 없는 문자가 없습니다.

>>> s='abc
abc' >>> s 'abc
abc' >>> print s abc abc >>> s=r'abc
abc' >>> s 'abc\
abc' >>> print s abc
abc

u/U: 유니코드 문자열 표시


단지 중국어를 겨냥한 것이 아니라 모든 문자열을 대상으로 할 수 있으며, 문자열을 유니버설 인코딩하는 것을 대표한다.
일반적인 영문 문자는 각종 인코딩을 사용하여 기본적으로 정상적으로 해석할 수 있기 때문에 일반적으로 u를 가지고 있지 않다.그러나 중국어는 반드시 필요한 인코딩을 표시해야 한다. 그렇지 않으면 인코딩 변환이 되면 혼란이 생길 수 있다.모든 인코딩 방식은utf8을 사용하는 것을 권장합니다

문자열 앞에 "l" 추가


넓은 문자를 나타냅니다. 유니코드 문자 (unicode 문자 집합은 두 바이트로 이루어져 있습니다. L 고시 컴파일러는 두 바이트의 유니코드 문자 집합을 사용합니다. 예를 들어 L "내 문자열"은 ANSI 문자열을 유니코드로 변환하는 문자열을 나타냅니다. 모든 문자가 두 바이트를 차지합니다.

 
strlen("asd") = 3; 
 
  
strlen(L"asd") = 6;
이는python 문자열을 간단히 분석하기 전에 r, f, u, l의 차이점을 추가한 이 글을 소개합니다. 더 많은python 문자열 r, f, u, l 내용은 우리의 이전 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기