본문 바로가기
programming/Python

파이썬 문자열 포맷 사용하는 방법 Using python string format

by 개코 - 개발과 코딩 2021. 12. 23.

파이썬에서 문자열을 쉽게 다루기 위해 format() 메서드를 제공한다. 문자열 포맷은 변경되는 변수에 대응하고 유연하게 문자열을 만들 수 있기도 하다. 중괄호를 이용하여 변수나 문자열을 format() 메서드의 인자값으로 넣으면 된다. 인덱스를 사용하여 format() 메서드에 지정한 문자열의 변수값을 지정할 수도 있다.

파이썬 문자열 포맷 사용하는 방법
Using python string format

어느 프로그램이든 문자열은 귀찮다.

+ 연산자를 사용할 때는 더욱 그렇다.

replace() 메서드를 사용하는 것도 귀찮다.

이런 귀차니즘을 위해 있는 메서드가 format() 메서드이다.

이것은 C언어의 문자열 출력시 사용하는 그것과 비슷하다.

중괄호에 문자열 대입

파이썬에서 문자열의 형식에서 선택한 부분에 순서대로 들어간다.

무슨 말인가.

문자열의 중괄호가 포함된 부분은 format() 메서드에서 지정한 변수 또는 문자열이 순서대로 들어간다.

그렇기에 문자열을 다루는 것이 오히려 쉽다.

오히려 + 연산자는 아에 생각도 안하게 될 것이다.

사용법

사용법은 중괄호를 이용하고 format() 메서드로 순서를 지정한다.

이것 또한 여러가지 방법이 있기 때문에 종류별로 익혀두는 것이 좋다.

vText = "{}은 쉬운 언어이다."
vVal = "파이썬"
vFormat = vText.format(vVal)

샘플코드

String.format() 메서드를 사용하는 방법은 여러가지가 있다.

단순히 중괄호와 변수 또는 문자열을 순서대로 나열하는 방법이 있고,
변수에 값을 대입하여 넣는 방법도 있다.

인자값의 순서에 상관없이 인덱스처럼 넣는 방법도 있다.

사용하는 사람의 편의에 맞게 사용하면 된다.

print("----------")
    
vPrice = 13000
vText = "가격은 {}원입니다."
vText = vText.format(vPrice)

print(type(vText), vText)

print("----------")

vValue = 13000
vText = "가격은 {:.2f}원입니다."
vText = vText.format(vValue)

print(type(vText), vText)
    
print("----------")

vQty = 5
vNo = 500
vPrice = 5000
vOrder = "주문한 제품 ( 번호 : {} )의 수량은 {}개이며, 가격은 {}원입니다."
print(vOrder.format(vNo, vQty, vPrice))
    
print("----------")

vQty = 5
vNo = 500
vPrice = 5000
vOrder = "주문한 제품 ( 번호 : {2} )의 수량은 {1}개이며, 가격은 {0}원입니다."
print(vOrder.format(vPrice, vQty, vNo))
    
print("----------")

vOrder = "주문한 제품 ( 번호 : {no} )의 수량은 {qty}개이며, 가격은 {price}원입니다."
print(vOrder.format(price="5000", qty=5, no=500))
    
print("----------")

위의 코드는 string.format() 메서드를 사용한 여러가지 사례이다.

{} 에 맞게 변수나 문자열을 넣어주면 그 뿐이다.

Stirng.format() 메서드의 순서대로 인덱스를 이용해 넣을 수도 있다.

인덱스는 0부터 시작한다.

결과화면을 보자.

어떻게 넣든 결과는 같다.

반응형

댓글