프로그래밍/Python 관련 정보
[Python Programming 기초] Formatted string
물박사의 저장공간
2024. 10. 24. 22:28
문자열 앞에 prefix를 넣음으로서 특별한 기능을 추가할 수 있는데요, 오늘 배울 formatted string도 이 기능과 관련이 있습니다.
1. r (Raw 문자열)
문자열 앞에 r를 붙이면 Raw 문자열이 됩니다. Raw 문자열은 이스케이프 문자(예: \n, \t 등)를 특별한 기능을 수행하는 문자로 해석하지 않고, 문자 그대로 처리합니다. 주로 정규 표현식이나 파일 경로를 다룰 때 유용합니다. (제가 파이썬 코딩을하다가 적어놓은 경로가 잘 먹히지 않을 때 치트키처럼 앞에다 r을 붙여서 해결하곤 했습니다. 전에는 리눅스와 윈도우에서 경로를 표시하는 특수기호가 달라 호환이 되지 않았고 변환을 다 다시 해주어야하는 문제가 있었다고 하네요)
# 일반 문자열에서는 \n이 줄바꿈 문자로 해석됨
normal_string = "Hello\nWorld"
print(normal_string)
# 출력:
# Hello
# World
# r 문자열에서는 \n이 그대로 출력됨
raw_string = r"Hello\nWorld"
print(raw_string)
# 출력:
# Hello\nWorld
import re
# Raw 문자열 없이 정규 표현식 작성
pattern = "\\d+" # 숫자를 찾는 정규 표현식, \d는 숫자를 의미
result = re.findall(pattern, "123abc456")
print(result) # 출력: ['123', '456']
# Raw 문자열로 정규 표현식 작성
pattern = r"\d+" # 숫자를 찾는 정규 표현식, \d가 그대로 사용됨
result = re.findall(pattern, "123abc456")
print(result) # 출력: ['123', '456']
# 파일 경로에서 Raw 문자열 사용
file_path = r"C:\Users\my_user\Documents\file.txt"
print(file_path) # 출력: C:\Users\my_user\Documents\file.txt
2. f (f-string, 포매팅 문자열)
문자열 앞에 f를 붙이면 f-string(포매팅 문자열)이 됩니다. f-string은 파이썬 3.6부터 도입된 기능으로, 문자열 내에 변수나 표현식을 간결하게 포함할 수 있습니다. 중괄호 {} 안에 변수를 넣으면, 그 값이 문자열 안에 삽입됩니다. 사실 문자열 내에 변수나 표현식을 포함시키는 방식은 3가지 정도 존재하는데요, f-string 방식은 이 중 한 가지 방법입니다.
1) % 연산자 이용 (C의 방식)
print("1/81 : %.3f" % c)
2) format() method 이용
print("1/81 : {:.3f}".format(c))
s = '{0} {2} {1}'.format( *input().split() ) # 위치 인덱스로 전달할 수 있다
print('{product}, {price}, {power}'.format(product='PC', price=100, power=110))
3) f-stringprefix 이용
print(f"1/81 : {c:5.4}") # 전체자리수.소수점자리수