이롭게 현명하게

[Python]문자열 포매팅 본문

Python

[Python]문자열 포매팅

dev_y.h 2023. 3. 6. 18:30
728x90
반응형

※ 본 포스팅은 윈도우 11, Pycharm, Python3 환경에서 작성되었습니다.


 

목차

문자열 포매팅

문자열 포맷 코드

포맷 코드와 숫자 함께 사용하기

format함수

f문자열 포매팅

 


<정리>

코드 설명
%s 문자열(String)
%c 문자 1개(character)
%d 정수(Integer)
%f 부동소수(floating-point)
%o 8진수
%x 16진수
%% Literal % (문자 % 자체)
%10s 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨둔다.
%-10s  전체 길이가 10개인 문자열,왼쪽 정렬,나머지는 공백
%10.4f 문자열의 길이가 10인소수점 네번째 자리까지 나타낸다.
print("I eat {0} apples.".format(3)) #'I eat 3 apples.'
print("I eat {0} apples.".format("five")) #'I eat five apples.'

number = 3
print("I eat {0} apples.".format(number))#'I eat 3 apples.'

number = 4
day = "three"
print("I ate {0} apples. so I was sick for {1} days".format(number,day))
#'I ate 4 apples. so I was sick for three days'

print("I ate {number} apples. so I was sick for {day} days".format(number=10,day=3))
#'I ate 10 apples. so I was sick for 3 days'

print("I ate {0} apples. so I was sick for {day} days".format(10,day=3))
#'I ate 10 apples. so I was sick for 3 days'

print("{0:<10}".format("smiles"))#'smiles    '
print("{0:>10}".format("smiles"))#'    smiles'
print("{0:^10}".format("smiles"))#'  smiles  '
print("{0:=^10}".format("hi"))#'====hi===='
print("{0:=<10}".format("hi"))#'hi========'
print("{0:=>10}".format("hi"))#'========hi'

y = 3.141592
print("{0:0.4f}".format(y))#'3.1416'
print("{0:10.4f}".format(y))#'    3.1416'

print("{{and}}".format())#'{and}'

[문자열 포매팅]

문자열 포매팅 : 문자열 안에 어떤 값을 삽입하는 방법

c언어의 형식 문자와 비슷하다.

  1. 숫자 바로 대입
  2. 문자열 바로 대입
  3. 숫자 값을 나타내는 변수로 대입
  4. 2개 이상의 값 넣기

 

print("I eat %d apples."%3) # 숫자 바로 대입
print("I eat %s apples."%"five") # 문자열 바로 대입

number = 3
print("I eat %d apples."%number) # 숫자 값을 나타내는 변수로 대입

number = 10
day = "three"
print("I ate %d apples. so I was sick for %s days."%(number,day)) # 2개 이상의 값 넣기

 


[문자열 포맷 코드]

 

코드 설명
%s 문자열(String)
%c 문자 1개(character)
%d 정수(Integer)
%f 부동소수(floating-point)
%o 8진수
%x 16진수
%% Literal % (문자 % 자체)

 

이때 %s 포맷 코드는 어떤 형태의 값이든 변환해 넣을 수 있다.

%s 는 자동으로 %뒤에 있는 값을 문자열로 바꾸기 때문이다.

print("I have %s apples."%3)
print("I have %s apples."%3.14)

[포맷 코드와 숫자 함께 사용하기]

  1. 정렬과 공백
  2. 소수점 표현하기

%10s : 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨둔다.

%-10s : 전체 길이가 10개인 문자열,왼쪽 정렬,나머지는 공백

%0.4f : .4는 소수점 네번째 자리까지 나타내고싶은경우만

%10.4f : 소수점 네번째 자리까지만 표시, 전체 길이가 10개

# 정렬과 공백 #
print("%10s"%"hi")
#결과
#        hi
print("%-10sjane"%"hi")
#hi        jane


# 소수점 표현 #
# 소수점 네번째 자리까지만
print("%0.4f" % 3.141592) #3.1416
print("%10.4f" % 3.141592) #    3.4213

[format함수]

문자열의 format 함수를 사용하면 좀 더 발전된 스타일로 문자열 포맷을 지정할 수 있다.

  1. 숫자 바로 대입하기
  2. 문자열 바로 대입하기
  3. 숫자 값을 가진 변수로 대입하기
  4. 2개 이상의 값 넣기
  5. 이름으로 넣기
  6. 인덱스와 이름을 혼용해서 넣기
  7. 왼쪽 정렬
  8. 오른쪽 정렬
  9. 가운데 정렬
  10. 공백 채우기
  11. 소수점 표현하기
  12. { 또는 } 문자 표현하기
print("I eat {0} apples.".format(3)) #'I eat 3 apples.'
print("I eat {0} apples.".format("five")) #'I eat five apples.'

number = 3
print("I eat {0} apples.".format(number))#'I eat 3 apples.'

number = 4
day = "three"
print("I ate {0} apples. so I was sick for {1} days".format(number,day))
#'I ate 4 apples. so I was sick for three days'

print("I ate {number} apples. so I was sick for {day} days".format(number=10,day=3))
#'I ate 10 apples. so I was sick for 3 days'

print("I ate {0} apples. so I was sick for {day} days".format(10,day=3))
#'I ate 10 apples. so I was sick for 3 days'

print("{0:<10}".format("smiles"))#'smiles    '
print("{0:>10}".format("smiles"))#'    smiles'
print("{0:^10}".format("smiles"))#'  smiles  '
print("{0:=^10}".format("hi"))#'====hi===='
print("{0:=<10}".format("hi"))#'hi========'
print("{0:=>10}".format("hi"))#'========hi'

y = 3.141592
print("{0:0.4f}".format(y))#'3.1416'
print("{0:10.4f}".format(y))#'    3.1416'

print("{{and}}".format())#'{and}'

[f문자열 포매팅]

파이썬 3.6버전 부터는 f문자열 포매팅 기능을 사용할 수 있다. 3.6 미만의 버전에서는 사용할 수 없다.

name = '홍길동'
age = 30
print(f'나의 이름은 {name}입니다. 나이는 {age}입니다.')
print(f'나의 이름은 {name}입니다. 나이는 {age+1}입니다.')
print(f'나의 이름은 {name}입니다. 나이는 {age-2}입니다.')

# 딕셔너리
d = {'name':'홍길동', 'age':30}
print(f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.')

# 정렬
print(f'{"hi":<10}')  # 왼쪽 정렬
print(f'{"hi":^10}')  # 가운데 정렬
print(f'{"hi":>10}')  # 오른쪽 정렬

#공백 채우기
print(f'{"hi":=<10}')  # 왼쪽 정렬
print(f'{"hi":!^10}')  # 가운데 정렬
print(f'{"hi":->10}')  # 오른쪽 정렬

# 소수점
y = 3.42134234
print(f'{y:0.4f}')
print(f'{y:10.4f}')

#문자열에서 {} 문자 표시
print(f'{{ and }}')

문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능을 사용할 수 있다.

 

 

 

[Python] 파이썬 문자열 관련 함수

[문자열 관련 함수] 코드 설명 문자열.count('문자') 문자열 중 문자의 개수를 리턴한다. 문자열.find('문자') 문자열 중 문자가 처음으로 나온 위치를 반환 찾는 문자가 없다면 -1 반환 숫자는 0부터

devyihyun.tistory.com

 

 


잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊

댓글과 좋아요는 큰 힘이 됩니다!

 

 

728x90
반응형

'Python' 카테고리의 다른 글

[Python] 파이썬 리스트  (0) 2023.03.08
[Python] 파이썬 문자열 관련 함수  (0) 2023.03.07
[Python] 문자열 인덱싱과 슬라이싱  (0) 2023.03.03
[Python] 문자열 연산하기  (0) 2023.03.02
[Python] 파이썬 문자열  (0) 2023.02.28
Comments