목차
파이썬의 문자열에서 하나 이상의 변수에 값을 삽입하기 위해서 포매팅을 주로 사용하게 됩니다. 문자열 포맷코드와 함께 문자 및 숫자값을 대입하는 방법을 알아보겠습니다.
문자열 포맷코드
%s: 문자열(String)
%c: 문자 1개(character)
%d: 정수(Integer)
%f: 부동소수(floating-point)
%o: 8진수
%x: 16진수
%%: 문자 % 자체 그대로
1. 숫자 대입
숫자를 문자열에 삽입하는 방법을 보여줍니다. %d는 정수를 나타내는 문자열 포맷 코드로 사용되며, 문자열 안에서 숫자를 넣고 싶은 위치에 %d를 넣은 후 실제 숫자를 가장 뒤에 있는 % 다음에 씁니다. 아래 예제는 문자열에 정수 5를 삽입하는 방법입니다. %d를 입력한후에 실제 숫자 5는 가장뒤에 있는 %다음에 입력합니다.
>>> "I have %d apples." %5
'I have 5 apples'
2. 문자열 대입
숫자 대신 문자열을 넣는 방법으로 %s는 문자열을 나타내는 문자열 포맷코드로 사용되며, 숫자 대신 문자열을 넣고 싶은 위치에 %s 를 사용합니다. 아래 예제는 숫자 대신 문자열 "three"를 문자열에 삽입하는 방법입니다.
>>> "I have %s apples." %"three"
'I have three apples.'
3. 변수값 대입
변수에 저장된 숫자값을 문자열에 삽입하는 방법입니다. 아래 예제는 변수 'count'에 저장된 값을 %d에 대입하여 문자열을 생성하게 됩니다.
>>> count=7
>>> "I have %d apples." %count
'I have 7 apples.
4. 2개 이상의 값 삽입
괄호 안에 쉼표로 구분된 값을 넣어서 여러 변수를 한꺼번에 삽입합니다.
>>> fruit_count=10
>>> fruit_type="oranges"
>>> "I have %d %s." %(friut_count, fruit_type)
'I have 10 oranges
즉, 앞에서 %d, %s 등의 포맷코드를 사용하여 '%는 변수야, 이 변수의 타입은 d 또는 s 또는 f야' 로 문자열 자료를 입력한 후에 '%자리에 들어갈 값들은 이런 데이터야' 하고 컴퓨터에게 알려주는 개념으로 이해하면 됩니다.
포맷 함수 .format 을 이용한 포매팅
포맷코드와 논리는 비슷하지만 포맷코드+% 조합 대신 {}+.format()조합으로 사용합니다. 예제들과 함께 정리해 보겠습니다.
1. 숫자 바로 대입하기
result="I eat {} apples" .format(10)
print(result)
#결과 'I eat 10 apples'
2. 문자열 바로 대입하기
result="I eat {} apples" .format("five")
print(result)
#결과 'I eat five apples.'
3. 숫자 값을 가진 변수로 대입하기
number=3
result="I eat {} apples." .format(number)
#결과 'I eat 3 apples.'
4. 2개 이상의 값 넣기
2개 이상의 값을 넣을 때에는 {0}, {1}과 같이 순서에 따라 숫자를 입력(인덱스)하고 format함수뒤에 변수를 입력할 때 해당 순서대로 입력을 합니다. 이때 숫자가 아닌 {do}, {duration}으로 변수명을 넣는 방법도 있으며 이를 혼용해서 사용할 수도 있습니다.
do= "Studied"
duration="4"
"I {0} for {1} hours" .format(do, duration)
#결과 'I studied for 4 hours'
5. 자릿수 지정
문자열에서 공백을 만들려면 변수에 자릿수를 지정해 주는 방법이 있습니다. 예를 들어 자릿수가 3개인 변수에 공백을 추가하여 문자열에 삽입을 하고싶으면 공백수+3의 값으로 함께 표현하면 됩니다. 여기서 {}안의 0은 생략이 가능합니다.
"{0:10}".format("오렌지")
"{:10}" .format("오렌지")
#결과 '오렌지 '
6. 오른쪽, 왼쪽, 가운데 정렬
오른쪽, 왼쪽, 가운데 정렬은 각각 {:<}, {:>}, :{^}로 해서 화살표 끝의 모양을 생각하면 쉽게 연상이 가능합니다. 그래서 예를들어 {:>10}을 입력하면 10의 자리숫자로 오른쪽 정렬로 표현됩니다.
"{:10}" .format("오렌지")
#결과 ' 오렌지'
7. 공백을 대체 문자로 채우기
각종 자릿수 지정과 정렬을 통해 공백이 생길 때 이 공백에 문자를 채우는 방법이 있습니다. 채워 넣을 문자는 정렬문자인 <, >, ^ 바로 앞에 넣으면 됩니다.
8. 포매팅 문자가 아닌 { }에 문자 그대로 표현하기
format함수에서 문자열 포매팅을 하는 방법 중. format()의 괄호 안에 변수를 표현하는 방법 말고 {} 중괄호 안에 변수를 그대로 입력하는 방법이 있습니다. 이때는 {{}} 중괄호를 중복으로 사용하여 그 안에 변수를 입력하면 됩니다.
"{{ 오렌지 }}" .format()
#결과 '{ 오렌지 }'
'지식의 공간 > 파이썬' 카테고리의 다른 글
비전공자의 파이썬 독학 9. 리스트 자료형(인덱싱, 슬라이싱) (0) | 2024.04.29 |
---|---|
비전공자의 파이썬 독학 8. 문자열 f 포매팅과 내장 함수 10가지(count, index, join 등) (1) | 2024.01.21 |
비전공자의 파이썬 독학 6. 파이썬 문자열 자료형 (0) | 2024.01.14 |
비전공자의 파이썬 독학 5. 파이썬 자료형(숫자형) (0) | 2024.01.14 |
비전공자의 파이썬 독학 4. 파이썬 기본 용어(표현식, 키워드, 식별자, print()) (0) | 2024.01.10 |