akaSonny

파이썬 문자열 포맷팅 python string format 정리 본문

Study (Programming)/Python

파이썬 문자열 포맷팅 python string format 정리

Jihyeoning 2022. 9. 8. 14:13

써도써도 까먹는 문자열 포맷팅 방법.. ㅎ

맨날 찾아보는 것도 귀찮아서 정리할 필요를 느꼈다

 

1. 내가 가장 많이 쓰는 방법 str.format()

 - 중괄호 { } 사용하기

1) 이렇게 그냥 중괄호 순서대로 뭐가 들어갈지 .format()에 써주면 된다. 

year = 2022
month = 9
day = 8

print('Today is {}/{}/{}.'.format(year, month, day))
# Today is 2022/9/8.

2) 중괄호 안을 변수로 사용하기: 이거는 같은 변수가 반복적으로 들어갈 때 주로 쓴다. (내가)

year = 2022
month = 9
day = 8

print('Today is {y}/{m}/{d}.'.format(y=year, m=month, d=day))
# Today is 2022/9/8.

3) 중괄호 안을 위치로 써주기: format() 뒤의 문자열들의 순서를 중괄호 안에 써주면 된다. 이건 별로 안 써본 듯.. 

year = 2022
month = 9
day = 8

print('Today is {0}/{1}/{2}.'.format(year, month, day))
# Today is 2022/9/8.

print('Today is {1}.{2}.{0}.'.format(year, month, day))
# Today is 9.8.2022.

 

2.  f-string 

나는 format이 익숙해서 주로 이걸 쓰는데, f-string 방법이 더 빠르다고 하니.. 알아두면 좋을 것 같다

쓰는 방법은 문자열 앞에 f 혹은 F를 붙인다.

year = 2022
month = 9
day = 8

print(f'Today is {year}/{month}/{day}.')
# Today is 2022/9/8.

그리고 format문에서는 할 수 없는 숫자 연산도 문자열 내에서 가능하다고 한다. 이건 정말 편한 기능인듯!!!

a = 3
b = 5
print(f'{a} + {b} = {a+b}')
# 3 + 5 = 8

 

3.  % operator 

요즘에는 잘 안쓴다고 하는데 나는 종종 ... 쓴다

문자열 내에 %(자료형) 으로 쓰면 되는데,

문자: %s (string), 정수: %d (decimal integer), 소수점: %f (fixed point) !!

name = 'Jane'
print('My name is %s.' % name)
# My name is Jane.

age = 20
print("I'm %d years old." % age)
# I'm 20 years old.

avg = 2.33
print('The average score is %f.' % avg)
# The average score is 2.330000.

여기서 3번째 예시.. 소수점은 내가 2.33 이렇게 써도 6자리까지 나오는게 디폴트다 

소수점 이하 자릿수를 정하고 싶다면 f 앞에 점 (.) 과 숫자를 입력해주자!

avg = 2.33
print('The average score is %.2f.' % avg)
# The average score is 2.33.

 

+) 정수도 숫자 개수 (?) 를 정할 수 있다.

'%0 개수d' % 숫자 -> 개수에 맞춰서 0이 들어간다.

number = 3
print('%05d' % number)
# 00003