본문 바로가기

라이브러리

[파이썬] format() 함수 사용법 정리

Python의 format() 메소드는 문자열을 구성하는 데 사용되며, 지정된 형식에 맞게 값을 포맷하거나 출력하는 데 사용됩니다.

format() 메소드는 중괄호 {}를 사용하여 문자열 안에 변수나 값들을 삽입하는 방식으로 동작합니다. 중괄호 안에는 변수명이나 인덱스가 들어갈 수 있으며, 중괄호 안에 아무것도 적지 않으면 기본적으로 인덱스를 사용합니다.

 

1. 기본 사용법

 

예를 들어, 다음과 같이 format() 메소드를 사용하여 문자열을 구성할 수 있습니다.

 

name = "John"
age = 30
print("My name is {} and I'm {} years old.".format(name, age))


출력 결과는 다음과 같습니다.

 

My name is John and I'm 30 years old.


또한, format() 메소드에서 중괄호 안에는 변수나 값뿐만 아니라 형식 지정자도 추가할 수 있습니다. 형식 지정자는 중괄호 안에 콜론(:)을 사용하여 지정합니다. 예를 들어, 다음과 같이 형식 지정자를 사용하여 소수점 이하 자리수를 지정할 수 있습니다.

 

pi = 3.14159265359
print("The value of pi is approximately {:.2f}.".format(pi))


출력 결과는 다음과 같습니다.

 

The value of pi is approximately 3.14.


여기서 :.2f는 소수점 이하 두 자리까지 출력하라는 의미입니다.

또한, format() 메소드에서는 인덱스를 사용하여 값을 지정할 수도 있습니다. 예를 들어, 다음과 같이 인덱스를 사용하여 값을 지정할 수 있습니다.

 

name = "John"
age = 30
print("My name is {0} and I'm {1} years old. {0}'s age is {1}.".format(name, age))

출력 결과는 다음과 같습니다.

 

My name is John and I'm 30 years old. John's age is 30.


이와 같이 format() 메소드는 문자열을 구성하고 출력할 때 유용하게 사용할 수 있는 메소드입니다.

 

2. 기타 사용법

 

포맷 양식은 매우 다양한데, 여기에 몇 가지 예를 들어보겠습니다.

1) 정수 출력

 

num = 123
print("The number is {:d}.".format(num)) # The number is 123.


2) 소수 출력

 

pi = 3.14159265359
print("The value of pi is approximately {:.2f}.".format(pi)) # The value of pi is approximately 3.14.

 

3) 지수 표기법 출력

 

num = 123456789
print("The number is {:e}.".format(num)) # The number is 1.234568e+08.


4) 문자열 출력

 

text = "hello"
print("The text is {:s}.".format(text)) # The text is hello.


5) 진수 출력

 

num = 255
print("The number in hex is {:x} and in octal is {:o}.".format(num, num)) 
# The number in hex is ff and in octal is 377.

 

6) 좌우 정렬

 

text = "hello"
print("'{:>10}'".format(text)) # 우측 정렬
print("'{:<10}'".format(text)) # 좌측 정렬
#'     hello'
#'hello     '


7) 0 채우기

 

num = 9
print("'{:05}'".format(num))
#'00009'

 

8) 이름 지정

 

data = {"name": "John", "age": 30}
print("My name is {name} and I'm {age} years old.".format(**data))
# My name is John and I'm 30 years old.

 

이렇게 포맷 양식을 다양하게 사용할 수 있으며, 다양한 포맷 양식을 활용하여 문자열을 깔끔하게 출력할 수 있습니다.