일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- queue
- 정보처리기사 c언어
- 자료구조
- 선그래프
- 코딩테스트
- 알고리즘 스터디
- pandas
- MySQL
- 데이터시각화
- 파이썬
- Selenium
- 프로그래머스
- 알고리즘스터디
- 노마드코딩
- 백준
- Stack
- String Method
- javascript
- programmers
- 가상환경
- Matplotlib
- Algorithm
- type hint
- openCV
- Join
- python
- aws jupyter notebook
- 알고리즘
- NumPy
- dataframe
- Today
- Total
조금씩 꾸준히 완성을 향해
[Python] String format (% 포맷팅, format 함수, f-string) 본문
Python에서 문자열 format을 할 때는 크게 3가지 방법을 사용한다.
< % format >
데이터 타입에 따라 선택해서 써야 하니 잘 숙지하고 있어야 한다.
%d | 정수 (int) |
%s | 문자열 (string) |
%f | 실수 (float) |
%05d | 정수형 숫자 다섯 자리, 남는 부분을 0으로 채움 |
%.2f | 소소수점 둘째 자리의 실수형 숫자 |
▶ 사용 예제
name, age = '최다솔', 30
print('나는 %s입니다.' % name, '나이는 %d살입니다.'% age)
#나는 최다솔입니다. 나이는 30살입니다.
이렇게 넣고 싶은 변수 타입에 따라 종류를 잘 골라서 넣어줘야 한다.
year = 2022
month = 8
day = 23
print('%d-%02d-%02d' %(year, month, day))
#2022-08-23
month와 day의 값이 한 자리 수일 경우 2자리로 만들고 싶을 때는 위와 같이 사용하면 된다.
%02d => '숫자는 두 자리 수가 되어야 하고, 모자라다면 앞에 0으로 채워라' 라는 뜻이다.
height = 172.5
print('키는 %.2fcm 입니다.' %height)
#키는 172.50cm 입니다.
실수와 함께 사용할 때는 소수점 자리수를 지정할 수 있다.
%.2f => '소수점 둘째 자리 수까지 반올림해서 가져와라' 라는 뜻이다.
< format 함수 >
보다 더 직관적이고 간편한 메소드이다.
▶ 사용 예제
p = 'pizza'
c = 'chicken'
print('I like {} and {}'.format(p, c))
#I like pizza and chicken
문자열에 중괄호{ }가 여러개이고 비어있으면, format 소괄호( ) 안의 값이 순서대로 매칭된다.
p = 'pizza'
c = 'chicken'
print('I like {1} and {0}'.format(p, c))
#I like chicken and pizza
중괄호{ } 안에 index 번호를 넣어주면, format 소괄호( ) 안의 값이 index에 맞게 매칭된다.
그 밖에 자리수 지정과 부동소수점 지정은 % format 과 사용법이 유사하다.
year = 2022
month = 8
day = 23
print('{}-{:02}-{:02}'.format(year, month, day))
#2022-08-23
위에서 봤던 예제를 그대로 format 함수로 바꾸어 보았다.
month와 day는 두자리 숫자가 되고, 그에 못미치면 0으로 채워진다.
a = 4.5560
b = 'Argentine Pesos'
c = 1
print('{1:.2f} {0} are worth US{2}$'.format(b, a, c))
#4.56 Argentine Pesos are worth US1$
인덱싱과 부동소수점 지정을 합친 예제이다.
format 함수 안의 1, 0, 2 index가 순서대로 문자열 중괄호 안에 들어가게 되고,
a 변수의 값은 소수점 2자리수까지 출력된다.
print('{{우리집}}에 {} 놀러와요'.format('자주'))
#{우리집}에 자주 놀러와요
참고로 중괄호를 format 용이 아닌 그냥 문자로 사용하려면 두 번 겹쳐 넣으면 된다.
▶ format 정렬
print('{:<20}'.format('good')) #왼쪽 정렬, 20자리 차지
print('{:^20}'.format('good')) #가운데 정렬, 20자리 차지
print('{:>20}'.format('good')) #오른쪽 정렬, 20자리 차지
print('{:*^20}'.format('good')) #가운데 정렬, 20자리 차지, 빈 공간을 *문자로 채움
'''
good
good
good
********good********
'''
< f-string >
가장 최신 문법이며 쓰임이 가장 간결하다.
문자열 따옴표 앞에 f를 붙이고, 문자열 안에서 중괄호{ }를 이용해 변수나 계산식을 입력할 수 있다.
a = 3
b = 'wow'
print(f'I have {a} children {b}') #I have 3 children wow
print(f'I have {a+2} children {b}') #I have 5 children wow
자리수 지정과 부동소수점 지정은 format 함수와 사용법이 유사하다.
중괄호 사이에 {변수 : 소수점자리수} 형식으로 넣어주면 된다.
num1 = 3.75986
num2 = 3
print(f'example1 : {num1:.0f}') # 4
print(f'example2 : {num1:.1f}') # 3.8
print(f'example3 : {num1:.2f}') # 3.76
print(f'example4 : {num2:02d}') # 03
print(f'example5 : {num2:05d}') # 00003
정렬하는 방법 또한 format 메소드와 동일하니 생략한다.
'Python > 문법' 카테고리의 다른 글
[Python] print() 함수 활용 (sep, end) (0) | 2022.08.24 |
---|---|
[Python] Set (집합) (0) | 2022.08.24 |
[Python] Tuple (튜플) (0) | 2022.08.24 |
[Python] String method / 필요없는 문자열 삭제 strip() (0) | 2022.08.24 |
[Python] String method / 문자열 연결 join() (0) | 2022.08.24 |