Page 21 -
P. 21
name = 'world'
f'Hello, {name}'
이전 코드보다 훨씬 개선되었다는 느낌이 들 수 있습니다. { } 내부에는 표현식을 넣을 수 있으
며, 표현식은 평가가 이루어진 뒤에 문자열에 포함됩니다.
name = 'world'
x = 100
y = 'abcd'
f'x * 2 = {x*2}, and y.capitalize() is {y.capitalize()}'
또한, { } 내부에 :을 넣어서, 자료를 원하는 형태로 포매팅해서 출력할 수도 있습니다.
예를 들어 문자열이 10칸의 공간을 갖고, 왼쪽 또는 오른쪽에 정렬하게 출력하고 싶다면 #을
다음과 같이 활용합니다.
name = 'world' #<10은 10개 영역을 잡고, 왼쪽에 문자열을 정렬하라는 의미입니다.
first = 'Reuven' 이때 문자열이 차지하지 않는 부분은 # 기호로 채워집니다.
#>10은 나머지 의미는 모두 같고, 정렬만 오른쪽 정렬합니다.
last = 'Lerner'
f'Hello, {first:#<10} {last:#>10}'
필자는 최근 파이썬에 추가된 기능 중에 f-문자열이 가장 마음에 듭니다. 독자분도 적극적으로
사용해보면 좋을 것 같습니다.
f-문자열과 관련한 내용을 더 알고 싶다면 다음을 참고해보기 바랍니다.
• 파이썬에서 문자열 형식을 지정할 때 사용할 수 있는 여러 가지를 비교한 글입니다: http://
mng.bz/Qygm
• f-문자열에 대한 설명과 활용 예를 자세하게 설명한 글입니다: http://mng.bz/XPAY
• f-문자열을 설명하는 PEP 문서입니다: http://mng.bz/1z6Z
f-문자열을 활용할 수 없는 버전의 파이썬을 사용하고 있다면 str.format을 사용하기 바랍
니다. str.format은 메서드이므로 호출해야 하고, 매개변수로 출력하고 싶은 대상을 전달해
야 한다는 것만 제외하면 f-문자열과 거의 비슷하게 활용할 수 있습니다(유연성이 약간 떨어지
기는 합니다).
1장 numeric 자료형 037
파이썬_06.indd 37 2021-11-18 오전 9:38:16