문자열 포매팅(Formatting)
문자열 안에 어떤 값을 삽입하는 방법
1. 포맷코드 '%' 사용하기
2. 내장 함수 'format' 사용하기
3. 문자열 'f' 사용하기
포맷코드 %를 사용한 포매팅
문자열 포맷 코드
%s : 문자열(String)
%c : 문자 1개(character)
%d : 정수(Integer)
%f : 부동소수(floating-point)
%o : 8진수
%x : 16진수
%% : Literal %(문자 %자체)
포맷코드를 사용하는 숫자와 맞게 사용해야하지만 %s와 함께 사용하면 % 뒤에 값을 자동으로 문자열로 바꿔준다.
1. 숫자 바로 대입
2. 문자열 바로 대입
3. 숫자 값을 나타내는 변수로 대입
4. 2개 이상의 값 넣기
"I studied for %d hours today." %3
# 1 결과 값 'I studied for 3 hours today.'
"I studied for %s hours today." %"three"
# 2 결과 값 'I studied for three hours today.'
number = 3
"I studied for %d hours today." %number
# 3 결과 값 'I studied for 3 hours today.'
time = 180
unit = "minutes"
"I studied for %d %s today." %(time, unit)
# 4 결과 값 'I studied for 180 minutes today.'
5. 정렬과 공백
- 오른쪽정렬 : "%총길이s" %문자열
- 왼쪽정렬 : "%-총길이s" %문자열
6. 소수점 표현하기
- "%0.소수점포인트f" %소수
7. 정렬과 소숫점 표현 동시에 사용하기
- "%총길이.소수점포인트" %소수
"say:%10s" %'hi'
# 5 결과값 'say: hi'
"%-10s sayd." %'hi'
# 5 결과값 'hi sayd.'
"%0.4f" %3.42134234
# 6 결과값 '3.4213'
"%10.5f" %3.42134234
# 7 결과값 ' 3.42134'
8. 포맷코드와 문자열 '%' 같이 사용하기
- %%
"My ability has increased by %f%%." %0.3
# 8 결과값 'My ability has increased by 0.300000%.
format 함수를 사용한 포매팅
1. 숫자 바로 대입
2. 문자열 바로 대입
3. 숫자 값을 나타내는 변수로 대입
4. 2개 이상의 값 넣기
5. 이름으로 넣기(튜플형태로 변수값 바로 넣어주기)
6. 인덱스와 이름을 혼용해서 넣기
"I studied for {0} hours today.".format(3)
# 1 결과값 'I studied for 3 hours today.'
"I studied for {0} hours today.".format("three")
# 2 결과값 'I studied for three hours today.'
number = 3
"I studied for {0} hours today.".format(number)
# 3 결과값 'I studied for 3 hours today.'
time = 180
unit = "minute"
"I studied for {0} {1} today.".format(time, unit)
# 4 결과값 'I studied for 180 minutes today.'
"I studied for {time} {unit} today.".format(time=180, unit='minutes')
# 5 결과값 'I studied for 180 minutes today.
"I studied for {0} {unit} today.".format(180, unit='minutes')
# 6 결과값 'I studied for 180 minutes today.
7. 정렬과 공백
- 왼쪽정렬 : "{0:<총길이}".format(문자열)
- 오른쪽정렬 : "{0:>총길이}".format(문자열)
- 가운데정렬 : "{0:^총길이}".format(문자열)
- 정렬 후 공백 채우기 : "{0:문구총길이}".format(문자열)
8. 소수점 표현하기
- "{0:0.소수점포인트f}".format(소수)
9. 정렬과 소숫점 표현 동시에 사용하기
- "{0:총길이.소수점포인트f}".format(소수)
"{0:<10}".format('hi')
# 7 결과값 'hi '
"{0:>10}".format('hi')
# 7 결과값 ' hi'
"{0:^10}".format('hi')
# 7 결과값 ' hi '
"{0:!<10}".format('hi')
# 7 결과값 'hi!!!!!!!!'
"{0:=^10}".format('hi')
# 7 결과값 '====hi===='
"{0:0.4f}".format(3.42134234)
# 8 결과값 '3.4213'
"{0:10.4f}".format(3.42134234)
# 9 결과값 ' 3.4213'
10. format함수와 문자열 '{}'같이 사용하기
- {{ , }}
"{{I {verb} you}}".format(verb="love")
# 10 결과값 '{I love you}'
문자열 f를 사용한 포매팅
파이썬 3.6버전부터 추가 된 기능이다.
f 문자열 포매팅은 변수 값을 생성 한 후 그 값을 참조한다.
또한 변수에 자유롭게 표현식을 사용 할 수 있게 지원해서 연산하며 사용이가능하다.
1. 변수로 대입
2. 변수와 표현식 함께 대입
3. 딕셔너리 자료형 변수 대입
name = "kim sangmi"
age = 30
f'My name is {name}. I am {age} years old'
# 1 결과값 'My name is kim sangmi. I am 30 years old'
f'My international age is {age-2}'
# 2 결과값 'My international age is 28'
d = {'name':'kim sangmi', 'age':30}
f'My name is {d["name"]}. I am {d["age"]} years old'
# 3 결과값 'My name is kim sangmi. I am 30 years old'
4. 정렬과 공백
- 왼쪽정렬 : f'{"문자열":<총길이}'
- 오른쪽정렬 : f'{"문자열":>총길이}'
- 가운데정렬 : f'{"문자열":^총길이}'
- 정렬 후 공백채우기 : f'{"문자열":문구총길이}'
5. 소수점 표현하기
- f'{소수:0.소수점포인트f}'
6. 정렬과 소숫점 표현 동시에 사용하기
- f'{소수:총길이.소수점포인트f}'
f'{"hi":<10}'
# 4 결과값 'hi '
f'{"hi":>10}'
# 4 결과값 ' hi'
f'{"hi":^10}'
# 4 결과값 ' hi '
f'{"hi":=^10}'
# 4 결과값 '====hi===='
f'{"hi":!<10}'
# 4 결과값 'hi!!!!!!!!'
f'{3.09418:0.2f}'
# 5 결과값 '3.09'
f'{3.09418:9.2f}'
#6 결과값 ' 3.09'
7. 문자열 f와 문자열' {}' 같이 사용하기
- {{ , }}
verb = "love"
f'{{I {{{verb}}} you}}'
# 7 결과값 '{I {love} you}'
'프로그래밍언어 > Python' 카테고리의 다른 글
[Python] 파이썬 자료형 : 튜플 (0) | 2021.02.17 |
---|---|
[Python] 파이썬 자료형 : 리스트 (0) | 2021.02.14 |
[Python] 파이썬 자료형 : 문자열 (0) | 2021.02.04 |
[Python] 파이썬 자료형 : 숫자형 (0) | 2021.01.27 |
[Python] 파이썬이란 무엇인가? (0) | 2021.01.26 |