-
[Python] 문자열 서식 지정, 포매팅 방식 및 format 함수코딩/파이썬 2023. 7. 30. 13:25반응형
Python에서 가장 자주 다루는 함수가 print와 문자열입니다. Python에서 제공하는 다양한 포매팅 형식을 안다면, print와 문자율을 훨씬 편리하고 유려하게 사용할 수 있습니다. 이번 글에서는 Python의 문자열 서식 지정과 포매팅, 그리고 format 함수의 사용법에 대해 쉽게 이해할 수 있도록 설명해보겠습니다.
목차
- Python에서 문자열 서식 지정하는 방법
- 예제 1. 고전적인 % 연산자를 사용한 포매팅
- < a href="#h1-2"> 예제 2. str.format() 함수를 사용한 포매팅
- 예제 3. f-string을 사용한 포매팅
- Python에서 숫자 포멧팅 예시
Python에서 문자열 서식 지정하는 방법
파이썬에서는 다양한 방식의 문자열 서식을 지원합니다.
예제 1. 고전적인 % 연산자를 사용한 포매팅
c 부터 내려오는 고전적인 포메팅 방식도 python에서 지원합니다. 아래 예시를 보십시요. %d는 정수(decimal)를 의미하며, 이 위치에 age 변수의 값을 삽입합니다
age = 20 print("나는 %d살이다." % age) # 출력 : 나는 20살이다.
예제 2. str.format() 함수를 사용한 포매팅
아래 코드에서 {}는 문자열에 삽입될 값을 표시하는 공간입니다. format() 함수를 이용해 이 공간에 age 변수의 값을 삽입할 수 있습니다.
age = 20 print("나는 {}살이다.".format(age))
여러 개의 변수를 사용할 수도 있습니다.
name = 'John' age = 25 print("Hello, {}. You are {} years old.".format(name, age)) # 출력 : Hello, John. You are 25 years old.
또한 복잡한 포멧을 위해서 키워드 인자도 사용할 수 있습니다. 아래 예시에서 {kwd} 형태로 지정되고, kwd의 변수 값을 찾아서 출력합니다.
print("Hello, {name}. You are {age} years old.".format(name='John', age=25)) # 출력 : Hello, John. You are 25 years old.
예제 3. f-string을 사용한 포매팅
아래 코드에서 f-string은 Python 3.6부터 도입된 방식으로, 문자열 앞에 f를 붙여 사용합니다. {} 안에 변수 이름을 바로 쓸 수 있는 것이 특징입니다.
age = 20 print(f"나는 {age}살이다.")
Python에서 포멧팅 예시
Python에서 서식 지정을 할 때, 데이터의 형태를 조절하는 것이 가능합니다. 주로 숫자를 다룰 때 이 기능이 유용하게 사용됩니다. 아래에 자주 사용되는 형식 지정자와 예제를 설명하겠습니다.
예제 1. 소수점 아래 둘째 자리까지 출력
{:.nf} 형식을 사용하면 소수점 아래 n자리까지 출력할 수 있습니다. 여기서 n은 원하는 자릿수를 의미합니다.
pi = 3.1415926535 print("{:.2f}".format(pi)) # 출력 : 3.14
예제 2. 정수 자릿수 지정
{:nd} 형식을 사용하면 정수를 n자리로 출력할 수 있습니다. 여기서 n은 원하는 자릿수를 의미합니다. 만약 출력할 값이 n자리보다 작다면 앞쪽은 공백으로 채워집니다.
num = 12 num2 = 123 num3 = 12345 print("{:5d}".format(num)) print("{:5d}".format(num2)) print("{:5d}".format(num3))
아래는 실제 출력결과 입니다. 숫자 5자리수에 맞춰서 숫자를 정렬합니다.
예제 3. 정수 부분을 5자리로 출력하고 빈 공간은 0으로 채우기
{:0nd} 형식을 사용하면 정수를 n자리로 출력하며, 앞쪽이 공백이면 0으로 채웁니다.
num = 93 print("{:05d}".format(num)) # 출력 : 00093
이 코드를 실행하면 "00093"라는 결과가 출력됩니다.
예제 4. 천 단위로 콤마 삽입하기
{:,} 형식을 사용하면 천 단위마다 콤마를 삽입할 수 있습니다.
num = 93000000 print("{:,}".format(num)) # 출력 : 93,000,000
마무리
이상 파이썬 포멧팅에 대한 내용이었습니다.
https://smart-worker.tistory.com/53
https://smart-worker.tistory.com/52
https://smart-worker.tistory.com/50
반응형'코딩 > 파이썬' 카테고리의 다른 글
[Python] zip함수로 두 리스트의 데이터 엮어주기 (0) 2023.07.31 [Python] 파이썬 enumerate 함수로 For 문 돌리기 (0) 2023.07.31 Python의 예외 처리 방법: try, except, finally 이해하기 (0) 2023.07.30 [Python] JSON 데이터 손쉽게 다루기 (0) 2023.07.30 [Python] 텍스트 파일 읽고 쓰기(open, readlines 등) (0) 2023.07.30 - Python에서 문자열 서식 지정하는 방법