본문 바로가기
Computer & Program/python

[python] Format(String Formatting)

by TDRemon 2024. 3. 6.
반응형

안녕하세요. TDR입니다.

오늘은 저번 시간에 이어 Format, 그 중에서 String formatting(문자열 포맷팅)에 대해서 간략히 정리해보겠습니다. (저번 시간에 정리한 서식 지정자)

 

[python] Format(Format Specifier)

안녕하세요. TDR입니다. 오늘은 예전부터 꼭 정리하고 싶었던 Format, 그 중에 format specifier(서식 지정자)에 대해 간략히 정리해 보겠습니다. 참고로 Format은 총 3개의 파트로 구성될 예정입니다. 코

tdremon.tistory.com

print('A B {0} D {2} F {1} H I'.format('C', 'G', 'E'))
print('A B {} D {} F {} H I'.format('C', 'E', 'G'))
print('A B {first} D {second}'.format(second='E', first='C'))

## Result ##
A B C D E F G H I
A B C D E F G H I
A B C D E

이전 시간에 본 서식 지정자와 비슷한 형태를 하고 있으나 함수 형태로 호출을 하고 있어 보기에도 좋습니다.

첫번째 예시를 보면 중괄호 안에 index를 통해 format()의 매개변수의 순서를 받고 있습니다. 매개변수의 순서보다 string의 index의 값을 통해 실제 위치가 결정 되는 것을 볼 수 있습니다. 참고로, 매개변수의 개수가 index의 개수와 맞지 않을 때 IndexError가 발생합니다.

두번째 예시에서는 index가 없이 중괄호 만으로 값을 할당하고 있습니다. 이럴 경우 foramt()의 매개변수 순서가 중요해 집니다.

마지막 예시에서는 index가 아닌 key를 통해 보다 직관적으로 값을 할당하고 있습니다. string이 길어지거나, key값으로 할당 위치에 어떤 것이 들어올지를 보다 명확하게 나타낼 수 있습니다.

참고로, 첫번째 예시와 마지막 예시의 경우 값의 재활용도 가능합니다.

print('A {0} C {0} {1}'.format('B', 'A'))
print('A {first} C {first} {second}'.format(first='B', second='A'))

## Result ##
A B C B A
A B C B A

주의할 점은, index와 key 방식은 혼용할 수 없습니다.

문자열 포맷팅도 정렬 및 소수점 제한 등의 기능이 있습니다. 소수점 제한은 서식 지정자와 비슷하지만 정렬 표현 방식은 조금 다릅니다.

pie = 3.141592653589793
print('{pie:.5f}는 3과 4 사이의 값입니다.'.format(pie=pie))
print('좌측정렬 : {:_<10.2f}'.format(pie))
print('중앙정렬 : {:_^10.2f}'.format(pie))
print('우측정렬 : {:_>10.2f}'.format(pie))

## Result ##
3.14159는 3과 4 사이의 값입니다.
좌측정렬 : 3.14______
중앙정렬 : ___3.14___
우측정렬 : ______3.14

서식 지정자에서는 +, -를 통해 우측, 좌측 정렬을 했습니다. 문자열 포매팅의 경우 <, > 기호를 통해 하고 있습니다. 개인적으로는 기호를 통해서 하는 것이 좀 더 직관적이여서 서식 지정자 보다는 문자열 포맷팅을 선호합니다.

아래 3개의 예시는 정렬이 어떻게 됐는지 보다 직관적으로 볼 수 있게 빈칸을 _로 채운 상태입니다. 뭔가 복잡해 보이는데 하나씩 뜯어 보면 간단합니다.

:[빈칸에 채울 문자][정렬 방향 : <, ^, >][자리수][소수점 개수 제한]

이번 시간에는 문자열 포맷팅을 통해 다양한 방법으로 Format 지정하는 법을 정리해 봤습니다. 다음은 마지막으로 아마도 가장 많이 쓰게될 f-string이라는 방법을 알아보겠습니다.

 

[python] Format(f-string)

안녕하세요. TDR입니다. 오늘은 Format의 마지막인 f-string에 대해서 간략히 정리해보겠습니다. (Format Specifier & String Formatting은 아래 링크 참조) https://tdremon.tistory.com/entry/python-Format-01 https://tdremon.tist

tdremon.tistory.com

 

반응형

'Computer & Program > python' 카테고리의 다른 글

[python] Package & Module  (0) 2024.03.10
[python] Format(f-string)  (0) 2024.03.07
[python] Format(Format Specifier)  (0) 2024.03.05
[python] Generator(발생자)  (0) 2024.03.04
[python] Iterator(반복자) - 02  (0) 2024.03.03

댓글