카테고리 없음

문자열 포맷팅

멍주다배 2024. 12. 4.

문자열 포맷팅 (String Formatting)

문자열 안에 변수를 삽입하거나, 특정 형식으로 데이터를 출력할 때 사용 , 자릿수와 공백 지정 가능

 

% 포맷팅

'%자료형' 형식으로 문자열 안에 넣고 마지막에 '%문자/변수' 추가

  • 자료형: 정수(%d), 문자(%c), 문자열(%s), 부동소수(%f), 8진수(%o), 16 진수(%x)
 #문자열
 "I have an %s." % 'apple'
 #결과: I have an apple.
 
 #두 개 이상의 값
"fruits: %s, %s" % ('apple', 'banana')
#결과: fruits: apple, banana
  • 정렬
#문자열의 자릿수를 10으로 설정(공백 오른쪽)
"I have an %10s." % 'apple'
#결과: I have an      apple.

#공백 왼쪽은 자릿수 앞에 - 붙이기
"I have an %-10s." % 'apple'
#결과: I have an apple     .

format 함수포맷팅

'{인덱스/이름}' 형식으로 문자열 안에 넣고 마지막에 '.format(이름=값)' 추가

 #문자열
"I have an {}.".format('apple')
 #결과: I have an apple.
 
 "I have an {0}.".format('apple')		#하나일 경우 {}안에 안적어도 같은 결과
  #결과: I have an apple.
  
 #두 개 이상의 값
"fruits: %s, %s" % ('apple', 'banana')
#결과: fruits: apple, banana

"fruits: {kind1}, {kind2}".format(kind1='apple', kind2='banana')
#결과: fruits: apple, banana
  • 정렬: 자릿수를 설정해 정렬을 하고 나머지 자리는 공백이나 원하는 문자로 채우기
#문자열의 자릿수를 10으로 설정(공백 오른쪽)
"I have an {0:<10}.".format('apple')
#결과: I have an apple     .

#공백 왼쪽
"I have an {0:>10}.".format('apple')
#결과: I have an      apple.

#가운데 정렬 -> 단어 사이에 공백이 필요할 경우 유용
"I have an {0:^10}.".format('apple')
#결과: I have an   apple   .

#공백을 원하는 문자로도 채울 수 있음, 정렬 문자 바로 앞에 넣기
#문자열의 자릿수를 10으로 설정하는 것이기 때문에 apple 다섯 글자를 제외한 나머지 다섯 자리를 !로 채우기
"I have an {0:!^10}.".format('apple')
#결과: I have an !!apple!!!.

f-string 포맷팅

문자열 앞에 'f' 붙이기, 변수 값을 생성한 후 그 값을 문자열 안에서 참조

fruit = 'apple'
f"I have an {fruit}."
#결과: I have an apple.
  • 정렬과 공백 지정은 format 함수 방식과 동일
print(f"{'좌측 정렬':<10} | {'중앙 정렬':^10} | {'우측 정렬':>10}")

#결과: 좌측 정렬      |   중앙 정렬    |      우측 정렬

 

※ f-string 포맷팅이 제일 편하고 간단해서 주로 쓰임