2024.11.20 TIL(AI 9기)

SMALL

문자열 포매팅

1. 숫자 바로 대입

"I eat %d apples." % 3
'I eat 3 apples.'

결괏값을 보면 알겠지만, 위 예제는 문자열 안에 정수 3을 삽입하는 방법을 보여 준다. 

문자열 안의 숫자를 넣고 싶은 자리에 %d 문자를 넣어 주고 삽입할 숫자 3은 가장 뒤에 있는 % 문자 다음에 써 넣었다. 여기에서 %d는 ‘문자열 포맷 코드’라고 부른다.

 

 

2. 문자열 바로 대입

"I eat %s apples." % "five"
'I eat five apples.'

 

숫자를 넣기 위해서는 %d, 문자열을 넣기 위해서는 %s를 써야 한다.

문자열을 대입할 때는 반드시 큰따옴표나 작은따옴표를 써야 한다.

 

 

3. 숫자 값을 나타내는 변수로 대입

number = 3
"I eat %d apples." % number
'I eat 3 apples.'

 

 

4. 2개 이상의 값 넣기

>>> number = 10
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
'I ate 10 apples. so I was sick for three days.'

2개 이상의 값을 넣으려면 마지막 % 다음 괄호 안에 쉼표(,)로 구분하여 각각의 값을 넣어 주면 된다.

 


문자열 포맷 코드

코드 설명
%s 문자열(String)
%c 문자 1개(character)
%d 정수(Integer)
%f 부동소수(floating-point)
%0.4f는 소수점 4번째까지 나타내라는 뜻
%o 8진수
%x 16진수
%% Literal % (문자 % 자체)

 

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

>>> "I have %s apples" % 3
'I have 3 apples'
>>> "rate is %s" % 3.234
'rate is 3.234'

3을 문자열 안에 삽입하려면 %d를 사용해야 하고 3.234를 삽입하려면 %f를 사용해야 한다. 

하지만 %s를 사용하면 %s는 자동으로 % 뒤에 있는 3이나 3.234와 같은 값을 문자열로 바꾸어 대입하기 때문에 이런 것을 생각하지 않아도 된다.

 

◆  포매팅 연산자 %d와 %를 같이 쓸 때는 %%를 쓴다

>>> "Error is %d%." % 98

결괏값으로 당연히 "Error is 98%."가 출력될 것이라고 예상하겠지만, 파이썬은 '형식이 불완전하다'라는 오류 메시지를 보여 준다. 그 이유는 ‘문자열 포맷 코드인 %d %가 같은 문자열 안에 존재하는 경우, %를 나타내려면 반드시 %%를 써야 한다’라는 법칙이 있기 때문이다. 하지만 문자열 안에 %d와 같은 포매팅 연산자가 없으면 %는 홀로 쓰여도 상관없다. 따라서 위 예를 제대로 실행하려면 다음과 같이 작성해야 한다.

>>> "Error is %d%%." % 98
'Error is 98%.'

 

 

format 함수

 

 

 

LIST

'Today I learned' 카테고리의 다른 글

2024.11.22 TIL(AI 9기)  (0) 2024.11.22
2024.11.21 TIL(AI 9기)  (1) 2024.11.21
2024.11.19 TIL(AI 9기)  (0) 2024.11.19
2024.11.18 TIL(AI 9기)  (1) 2024.11.18
Pythone3 Day 4 연산, 조건문  (0) 2024.11.15