본문 바로가기
Python

[Python] 문자열 처리방식 접두사 r, f

by IronAreum 2024. 12. 10.
728x90

개인프로젝트로 파이선을 간만에 쓰다보니 기억이 가물가물이다..

윈도우 폰트를 호출해서 사용하려고 하는데 호출이 잘 안된다..

r을 쓰라고 블로그에 되어있길래 급 궁금해짐..

 

대략적으론 무슨 차이인지 느낌적인 느낌이 오지만

그래도 확실히 짚고 넘어가자! 

문자열을 처리하는 방식에 따라 붙이는 특별한 접두사 r과 f


1. r 접두사: Raw String

r은 **Raw String(있는 그대로의 문자열)**을 의미해. 주로 **이스케이프 문자(\n, \t 등)**가 포함된 문자열에서 유용하게 사용돼.

역할:

  • 문자열 안의 **역슬래시(\)**를 이스케이프 문자로 처리하지 않고 그대로 인식.
  • 예를 들어, 파일 경로나 정규식을 쓸 때 많이 사용해.

예제:

# r 없이 작성
path = "C:\\Windows\\Fonts\\HARNGTON.TTF"  # \\로 이스케이프 처리 필요

# r을 사용하면 간단
path = r"C:\Windows\Fonts\HARNGTON.TTF"  # 역슬래시를 그대로 사용 가능
print(path)

출력:

C:\Windows\Fonts\HARNGTON.TTF

따라서, r은 파일 경로나 정규식에서 가독성을 높이고 실수를 줄이기 위해 사용돼.


2. f 접두사: Formatted String (f-string)

f는 **Formatted String(포맷 문자열)**을 의미해. 문자열 안에서 변수나 표현식을 직접 삽입할 수 있어.

역할:

  • 문자열 내부에 {}를 사용해 변수나 표현식을 삽입.
  • Python 3.6 이상에서 지원.

예제:

name = "HARRINGTON"
size = 40

# f-string 사용
message = f"Font name is {name}, size is {size}"
print(message)

출력:

Font name is HARRINGTON, size is 40

f는 문자열을 동적으로 생성할 때 효율적이고 간결한 방법이야.


차이점 비교:

접두사설명사용 예시

r Raw String (문자 그대로) r"C:\Windows\Fonts\HARNGTON.TTF"
f Formatted String (포맷팅) f"Font: {font_name}, Size: {font_size}"

결론:

  • r: 경로나 정규식처럼 역슬래시를 포함한 문자열을 다룰 때 사용.
  • f: 문자열 내부에 변수 값을 삽입하거나 동적 문자열을 생성할 때 사용.

이 두 가지를 동시에 사용할 수도 있어! 예를 들어:

file_name = "HARNGTON.TTF"
path = rf"C:\Windows\Fonts\{file_name}"
print(path)

출력:

C:\Windows\Fonts\HARNGTON.TTF
728x90

 

728x90