💨 문자열 포맷 코드
ex 1) 문자열 바로 대입
" I eat %d apples." % 3
// I eat 3 apples.
ex 2) 숫자 값을 나타내는 변수로 대입
number = 3
"I eat %d apples." % number
// I eat 3 apples.
ex 3) 두 개 이상의 값 넣기
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.
✅ %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 는 자동으로 % 뒤에 있는 값을 문자열로 바꾸기 때문이다.
✅ 포매팅 연산자 %d 와 % 를 같이 쓸 때는 %%를 쓴다!
"Error is %d%." %98
위 예문의 결괏값으로 당연히 "Error is 98%" 가 출력될 것이라고 예상하겠지만 파이썬 값이 올바르지 않다는 값 오류 메세지를 보여준다. 이유는 문자열 포맷 코드인 %d 와 %가 같은 문자열 안에 존재하는 경우, %를 나타내려면 반드시 %% 로 써야하는 법칙이 있기 때문이다.
"Error is %d%%." %98
'Error is 98%.'
💨 format 함수를 사용한 포매팅
ex) 1. 숫자 바로 대입하기
"I eat {0} apples." .format(3)
// I eat 3 apples.
ex) 2. 숫자 값을 가진 변수로 대입하기
number = 3
"I eat {0} apples." .format(number)
// I eat 3 apples
ex) 3. 2개 이상의 값 넣기
number = 10
day = "three"
"I ate {0} apples. So I was sick for {1} days." .format(number, day)
// I ate 10 apples. So I was sick for three days.
ex) 4. 이름으로 넣기
"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.
💨 f 문자열 포매팅
💥 파이썬 3.6 버전부터는 f 문자열 포매팅 기능을 사용할 수 있다. 파이썬 3.6 미만 버전에서는 사용할 수 없는 기능이므로 주의해야 한다.
ex 1) 다음과 같이 문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능을 사용할 수 있다.
name = '홍길동'
age = 30
f'나의 이름은 {name} 입니다. 나이는 {age} 입니다.'
// 나의 이름은 홍길동입니다. 나이는 30입니다.
ex 2) f 문자열 포매팅은 위와 같이 name, age 와 같은 변수 값을 생성한 후에 그 값을 참조할 수 있다. 또한 f 문자열 포매팅은 표현식을 지원하기 때문에 다음과 같은 것도 가능하다.
age = 30
f'나는 내년이면 {age+1} 살이 된다.'
// 나는 내년이면 31살이 된다
✅ 표현식이란 문자열 안에서 변수와 +,- 와 같은 수식을 함께 사용하는 것을 말한다.
'Python 기초' 카테고리의 다른 글
6. 딕셔너리 (0) | 2022.01.24 |
---|---|
5. 리스트 & 튜플 (0) | 2022.01.24 |
3. 코드업 기초 100제(1~100) (0) | 2022.01.24 |
2. 제어문 (0) | 2021.09.11 |
1. 변수 (0) | 2021.09.11 |