[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 [개발자 지망생]

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
64 [python][자료구조] "pdf 취소선 검출" How to identify strike-out text from PDF files using Python 졸리운_곰 2024.07.18 544
63 [python][자료구조] 오픈 소스 Python PDF 파서 라이브러리 file 졸리운_곰 2024.07.16 444
62 [python][자료구조] 벡터화 | Vectorization file 졸리운_곰 2023.12.21 330
61 [python][자료구조] Python의 Loop? NO! , Python의 Vectorization? OK!!! file 졸리운_곰 2023.12.21 473
60 [python][자료구조] Python - MySQL 데이터 추가, 삭제, 업데이트 졸리운_곰 2023.05.13 488
59 [python][자료구조] Python의 JSON - 문자열을 JSON으로 변환하는 방법 졸리운_곰 2023.05.06 456
58 [python][자료구조] [Python] Logging to MongoDB (로그 남기기) file 졸리운_곰 2023.03.24 428
57 [python][자료구조] [스파르타 웹 개발 종합] 파이썬으로 크롤링하고 DB에 저장하기(request, bs4, mongoDB 패키지 사용) 졸리운_곰 2023.03.12 461
56 [python][자료구조] [MongoDB] Document Query(조회) – find() 메소드 졸리운_곰 2023.03.08 315
55 [python][자료구조] Python(flask)으로 mongoDB 제어하기 – pymongo file 졸리운_곰 2023.03.08 604
54 [python][자료구조] django sqlite3 MySQL로 전환하기 file 졸리운_곰 2023.03.02 409
53 [python][자료구조] django에서 db.sqlite3 데이터를 mysql로 옮기기 졸리운_곰 2023.03.02 427
52 [python][자료구조] Python - JSON 파일 읽고 쓰는 방법 졸리운_곰 2023.02.04 480
51 [python][자료구조] [인코딩] 유니코드 인코딩 처리 (특히 json 입출력 시) 졸리운_곰 2023.02.04 363
50 [python][자료구조] Dropbox API 사용하기 (with python) 졸리운_곰 2022.12.03 306
49 [Python][자료구조] SQLAlchemy Tutorial(한글) - 2 졸리운_곰 2022.12.03 393
48 [Python]][자료구조] SQLAlchemy Tutorial(한글) - 1 졸리운_곰 2022.12.03 275
47 [python][자료구조] python anaconda 에서 mysql 접속 졸리운_곰 2022.01.25 657
46 [python 자료구조] 림코딩의 파이썬으로 csv 다루기 강좌 (읽기,쓰기,수정,추가) 졸리운_곰 2022.01.16 521
45 python - 읽은 후 kafka 메시지를 삭제하는 방법 졸리운_곰 2021.07.13 900
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED