Python

[Python] 문자열 포맷팅

2022. 8. 21. 23:36

String Formatting


format() 과 자리표시자 {}

f-string


 

방법1)

format() 메서드 와 자리표시자 {}

 

format() 메서드로 문자열 부분 선택하여 포맷하기

선택 부분은 자리 표시자 > {} 를 사용하고 format() 메서드로 자리에 값을 넣어준다.

price = 45
wallet = "The price is {} dollars"

print(wallet.format(price))

 

· 파라미터로 변환방법 바꾸기

각 자리표시자 {} 안에 파라미터를 추가해서 변환 방법을 지정할 수 있다.

price = 45
wallet = "The price is {:.1f} dollars"    # 소수점 첫째자리까지 표시

print(wallet.format(price))

 

정수로 변환하려는 경우, 원하는 만큼 패딩을 줄 수도 있다.

price = 45
wallet = "The price is {:04d} dollars"

print(wallet.format(price))


다중값 포맷팅

quantity = 10
itemno = 3247
price = 65

myorder = "I want {} pieces of item number {} for {:.2f} dollars."

print(myorder.format(quantity, itemno, price))

 

 인덱스 사용하기

  ■ 숫자 인덱스

 format 메서드에 써진 변수 순서대로 인덱스가 부여된다.

출력하고자 하는 문자열의 자리표시자에 변수의 인덱스 번호를 넣어준다.

age = 28
name = 'jella'
introduction = 'Her name is {0}. {0} is {1} years old.'    # 자리 표시자에 인덱스 번호를 넣어준다.

print(introduction.format(name, age))   # format 인덱스0 은 name, 인덱스1 은 나이

 

이름 인덱스

자리표시자에 이름을 입력하면 명명된 인덱스를 사용할 수도 있다.그러나 매개변수 값을 전달할 때 이름을 사용해야 한다.

introduction = 'Her name is {name}. {name} is {age} years old.'

print(introduction.format(name='jella', age=28))


 

방법2)  * python v3.6~ 사용가능

f-string 

자리표시자에 넣을 값을 변수로 지정해주고 f "{} {}"로 자리표시자에 변수를 넣는다.

col = 'graphite'
version = '11pro'

print(f"My cellphone is iphone {version} and its color is {col}")

 

col = 'silver'
version = '11pro'
system = 15.6

print(f'My cellphone is iphone {version} and its color is {col} and its software version is {system:.2f}.')

 

import datetime

time = datetime.datetime.now()
artist = 'IU'
price = 165000

print(f"I purchased in advance a VIP tickt of {artist}s' Concert at {time}. VIP Ticket price was {price}won. But It was just my dream")