Programming/Python

[Python] 문자열 포매팅 - format() 함수

한우콩 2021. 9. 27. 16:09

 

📌 문자열 포매팅

문자열 포매팅은 동일한 형태의 문자열 안에서 특정한 값을 변경할 때 사용한다. 즉, 문자열안에 어떠한 값을 삽입하는 방법이다.

 

저는 28살 입니다.
저는 18살 입니다.

 

이렇게 동일한 형태의 문자열을 가지면서 특정 문자만 다를 때 문자열 포매팅을 사용

 

 

📌 format() 함수

문자열의 format() 함수를 사용해 입력한 값의 형식을 지정한다. 괄호 {}로 표시된 위치에 지정된 형식의 문자열을 대체

 

바로 대입하기

 

>>> "My name is {}".format('Hanwoo')

'My name is Hanwoo'

 

 

변수로 대입하기

 

>>> name = 'Hanwoo'
>>> "My name is {}".format(name)

'My name is Hanwoo'

 

➡  문자열 {} 항목이 name 변수의 값 Hanwoo로 바뀜

 

 

숫자로 위치 지정하기

 

>>> first = 2
>>> second = 4
>>> "{0} x {1} = {2}".format(first, second, first * second)
>>> "{1} x {0} = {2}".format(first, second, first * second)

'2 x 4 = 8'
'4 x 2 = 8'

 

➡  괄호 안에 숫자를 입력하면 format() 함수에 전달된 객체의 위치를 지정할 수 있다. 

➡  위의 예제에서 {0}에는 first의 값, {1}에는 second의 값이 대체

 

 

이름으로 넣기

 

>>> 'My name is {name}. I am {age} years old.'.format(name='Hanwoo', age=100)

'My name is Hanwoo. I am 100 years old.'

 

➡  괄호 안에 숫자(인덱스)값 대신에 이름으로 지정해 값을 매칭할 수 있다.

➡  {name} 형태를 사용할 경우 format() 함수에는 반드시 name=value 와 같은 형태의 입력값이 있어야만 한다.

 

 

정렬

 

고급 형식지정 문자열 내용
< 왼쪽 정렬
> 오른쪽 정렬
^ 가운데 정렬

 

# 왼쪽 정렬
>>> "{0:#<10}".format("Hanwoo")

'Hanwoo####'

# 오른쪽 정렬
>>> "{0:#>10}".format("Hanwoo")

'####Hanwoo'

# 가운데 정렬
>>> "{0:#<10}".format("Hanwoo")

'##Hanwoo##'

 

➡  format 방식에서 공백의 크기를 지정할 경우 {}안에 : 기호를 넣고 그 뒤에 고급 형식지정 문자열을 넣는다. 

 : 뒤에 오는 숫자는 공백의 크기를 뜻한다.

➡  만약 >, <, ^ 기호 앞에 문자열을 쓰면 해당 문자열로 공백을 채운다.