안녕하세요. 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를 붙이고, 출력할 변수, 값을 중괄호 안에 넣습니다. s = 'coffee' n = 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 |
결과
위 코드에서 보이듯이 중괄호 {}안에 있는 변수 뒤에 콜론(:)을 붙인 후 왼쪽 정렬 (<), 오른쪽 정렬(>), 가운데 정렬(^)의 옵션을 넣어줍니다. 그 후에 자릿수를 알려주는 숫자 를 넣어주면 정렬 옵션을 사용할 수 있습니다.
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과 딕셔너리 d = {'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과 리스트 n = [100, 200, 300] print(f'list : {n[0]}, {n[1]}, {n[2]}') for v in n: print(f'list with for : {v}') | cs |
결과
평소 리스트에 접근 한 방법과 동일하게 {} 중괄호 안에 리스트 접근을 사용하면 됩니다.
이상으로 파이썬 f-string 문자열 포맷에 대해서 알아보았습니다. 감사합니다.
'<개인공부> > [Python]' 카테고리의 다른 글
[python] 파이썬 type, id 함수 정리 및 예제 (3) | 2020.10.16 |
---|---|
[python] 파이썬 진수 변환 hex, oct, bin (3) | 2020.10.08 |
[python] 파이썬 타입 변환, 형변환 (float, int, str, chr, bool) (0) | 2020.10.04 |
[python] 파이썬 all, any 함수 정리 및 예제 (6) | 2020.10.01 |
[python] 파이썬 % 서식 기호 (문자열 포매팅 방법 2) (0) | 2020.09.20 |
[python] 파이썬 format 함수 (문자열 포매팅 방법 1) (12) | 2020.09.17 |
[python] 파이썬 while문(반복문) 정리 및 예제 (3) | 2020.09.13 |
[python] 파이썬 반올림 round 함수에 대해서 (2) | 2020.09.07 |