[python] 파이썬 f-string (파이썬 스트링 앞에 f')

안녕하세요. BlockDMask 입니다.
오늘은 파이썬 문자열 포매팅 방법 % 서식문자, str.format, f-string 이 세개 중 마지막인 f-string에 대해서 알아보려고 합니다.

% 서식문자 [바로가기]
str.format [바로가기]

그럼 문자열 포매팅 마지막 시간 f-string을 시작해보겠습니다.

 

<목차>
1. 파이썬 f 문자열 포매팅
2. 파이썬 f 문자열 예제

 

1. 파이썬 f-string 포매팅이란?


string formatting - 문자열 포매팅이란

우리가 문자열에서 특정 부분만 바꾸고 나머지 부분은 일정하다고 할때, 문자열 포매팅을 이용해서 이쁘게 출력 할 수 있습니다.

예를들어 달력이라고 했을때
print(2020년 1월)
print(2020년 2월)
print(2020년 3월)
...
print(2020년 11월)
print(2020년 12월)

이런식으로 하나하나 작성해서 진행할 수 도 있지만 문자열 포매팅을 이용하면
month = 1
while month <= 12:
    print(f'2020년 {month}월')
    month = month + 1

이라는 코드를 통해서 손쉽게 1월부터 12월을 출력할 수 있습니다. 변해야하는 값이 있는 위치를 포매팅 할 위치로 잡아서 설정만하면 손쉽게 이쁘게 원하는 데로 문자열 출력이 가능합니다.    

 

f-string 이란?

f-string 포매팅은 파이썬 버전 3.6 부터 사용할 수 있는 따끈따끈한 기능 입니다.
이전에 언급했던, %포매팅과 str.format 방법보다 더 최근에 나온 것 입니다.

f-string의 모양은 f와 {}만 알면 됩니다. 문자열 맨 앞에 f를 붙여주고, 중괄호 안에 직접 변수 이름이나 출력하고 싶은것을 바로 넣으면 됩니다.
f'문자열 {변수} 문자열'
이런 모양인데 코드로 한번 보시죠.

 

1
2
3
4
5
6
# 문자열 맨 앞에 f를 붙이고, 출력할 변수, 값을 중괄호 안에 넣습니다.
= 'coffee'
= 5
result1 = f'저는 {s}를 좋아합니다. 하루 {n}잔 마셔요.'
print(result1)
 
cs

 

이런식으로 문자열 맨 앞에 f를 붙이고 중괄호 안에 변수 이름, 값을 넣으면 됩니다.
다시 정리하자면 f-string
1. 문자열 맨 앞에(따옴표앞) f를 붙인다.
2. 사용하고 싶은 변수, 값을 중괄호 안에 넣는다.
3. 이쁘게 출력한다.

 

2. 파이썬 f-string 예제


2-1) f-string과 왼쪽 정렬, 오른쪽 정렬, 가운데 정렬

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
py# f-string 왼쪽 정렬
s1 = 'left'
result1 = f'|{s1:<10}|'
print(result1)
 
# f-string 가운데 정렬
s2 = 'mid'
result2 = f'|{s2:^10}|'
print(result2)
 
# f-string 오른쪽 정렬
s3 = 'right'
result3 = f'|{s3:>10}|'
print(result3)
cs

 

결과

 

위 코드에서 보이듯이 중괄호 {}안에 있는 변수 뒤에 콜론(:)을 붙인 후 왼쪽 정렬 (<), 오른쪽 정렬(>), 가운데 정렬(^)의 옵션을 넣어줍니다. 그 후에 자릿수를 알려주는 숫자 를 넣어주면 정렬 옵션을 사용할 수 있습니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

2-2) f-string에서 중괄호 출력 방법

 

1
2
3
4
# f-string 중괄호 출력
num = 10
result = f'my age {{{num}}}, {{num}}'
print(result)
cs

 

결과

이렇게 {{ }} 괄호를 연속해서 두개를 사용하면 중괄호 자체를 출력 할 수 있습니다.
그럼 이상황에서 f 스트링의 값과 중괄호 까지 같이 표현하려면 {{{, }}} 이렇게 중괄호를 세개 입력하면 num을 변수 값으로 인식할 수 있습니다.

 

 

2-3) f-string과 딕셔너리

 

1
2
3
4
# f-string과 딕셔너리
= {'name''BlockDMask''gender''man''age'100}
result = f'my name {d["name"]}, gender {d["gender"]}, age {d["age"]}'
print(result)
cs

 

결과

 

딕셔너리와  f문자열 포맷을 함께 이용하기 위해서는 중괄호 안에서 딕셔너리를 호출해주면 됩니다.

 

 

2-4) f-string과 리스트

 

1
2
3
4
5
6
7
8
9
# f-string과 리스트
= [100200300]
 
print(f'list : {n[0]}, {n[1]}, {n[2]}')
 
 
for v in n:
    print(f'list with for : {v}')
 
cs

 

결과

평소 리스트에 접근 한 방법과 동일하게 {} 중괄호 안에 리스트 접근을 사용하면 됩니다.

이상으로 파이썬 f-string 문자열 포맷에 대해서 알아보았습니다. 감사합니다.



출처: https://blockdmask.tistory.com/429 [개발자 지망생]

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
102 [python 인터넷] 초간단 API서버 만들기 - 1부 (Python + Flask + Apache) file 졸리운_곰 2023.01.24 324
101 [python][인터넷] Flask 또는 Django를 Production 서버로 배포(Deploy)하기 file 졸리운_곰 2023.01.17 294
100 [python, 인터넷] Web Search Engine, 인터넷 검색 엔진 구현 file 졸리운_곰 2023.01.16 438
99 [Amazon S3 clone] minio 설치 및 파이썬 업로드 스크립트 졸리운_곰 2022.12.24 254
98 [python 인터넷] Python으로 XML-RPC 서버 구축 file 졸리운_곰 2022.06.28 501
97 [python 인터넷][네이버 뉴스 크롤링] python crawling - 네이버 뉴스 기사 크롤링 file 졸리운_곰 2022.06.28 356
96 [python 인터넷] How to Select CheckBox and Radio Button in Selenium WebDriver 졸리운_곰 2021.11.26 497
95 [python 인터넷] [Python] Selenium 사용하기 (+PhantomJS) file 졸리운_곰 2021.11.26 364
94 [python 인터넷] Python Selenium(셀레니움) 크롬창 활성 탭 변경하기 file 졸리운_곰 2021.11.26 366
93 [python 인터넷 ,selenium] selenium iframe 처리하기 file 졸리운_곰 2021.11.26 541
92 [python 인터넷] Selenium에서 특정 element가 갑자기 클릭이 되지 않을 때 (python) 졸리운_곰 2021.11.26 283
91 [python 인터넷] Selenium Python button 클릭 file 졸리운_곰 2021.11.26 311
90 [python 인터넷] Tor browser 로 selenium webdriver 크롤링 ip 우회 [Windosws] 졸리운_곰 2021.11.26 334
89 [python 인터넷] 파이썬 셀레니움을 이용한 DC인사이드 자동 글쓰기 file 졸리운_곰 2021.11.26 500
88 [Python][Dash] DASH PLOTLY 설치부터 튜토리얼까지 졸리운_곰 2021.09.11 383
87 python - 국가공휴일 데이터 가져오기 (data.go.kr) file 졸리운_곰 2021.09.05 220
86 [python][web] Separate Front-end from Back-end with Flask+AJAX file 졸리운_곰 2021.08.13 267
85 [scrapy] https://pypi.org/project/scrapy-save-as-pdf/ 졸리운_곰 2021.07.03 473
84 Pipeline to Download PDF or Save page as PDF for scrapy item 졸리운_곰 2021.06.26 302
83 [python, 인터넷] [카프카] Python으로 Kafka에 전송(Producer)하고 가져오기(consumer) file 졸리운_곰 2021.06.19 434
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED