728x90
반응형
포맷팅이란?
- 문자열에 특정한 값을 넣고 싶을 때 이용하는 함수이다.
포맷팅의 3가지 방법
- 가장 전통적인 방식 (%기호)
- 현재 가장 많이 쓰이는 방식 (format() 메소드)
- 새로운 방식 (f-string)
가장 전통적인 방식 (% 기호)
name='홍길동'
age=25
print('제 이름은 %s이고, 나이는 %d살 입니다.' %(name, age))
## 제 이름은 홍길동이고, 나이는 25살 입니다.
이제는 잘 쓰이지 않는 가장 전통적이고 오래된 방식이다. 그렇다고 이 방식이 나쁜 것은 아니다. %s, %d 등을 사용한다.
현재 가장 많이 쓰이는 방식 (format() 메소드)
name='홍길동'
age=25
print('제 이름은 {}이고, 나이는 {}살 입니다.'.format(name, age))
## 제 이름은 홍길동이고, 나이는 25살 입니다.
현재 가장 대중적으로 쓰이는 방식이다. 위처럼 사용할 수 있다. 몇가지 변형이 가능하다.
name='홍길동'
age=25
print('제 이름은 {0}이고, 나이는 {1}살 입니다.'.format(name, age))
## 제 이름은 홍길동이고, 나이는 25살 입니다.
위처럼 배열에 인덱스 넣듯이 순서를 지정할 수 있다.
즉 그 말은, 꼭 순서대로 출력하지 않아도 된다는 얘기이다.
name='홍길동'
age=25
city='서울'
print('제 이름은 {2}이고, 나이는 {1}살 입니다. 사는 지역은 {0}입니다.'.format(city, age, name))
## 제 이름은 홍길동이고, 나이는 25살 입니다. 사는 지역은 서울입니다.
위처럼 변형해서 사용이 가능하다.
또 하나의 예시를 보자.
num1 = 10
num2 = 3
print('{} 나누기 {}은 {}입니다'.format(num1, num2, num1 / num2))
## 10 나누기 3은 3.3333333333333335입니다
3.333333... 과 같은 값이 나오게 된다. 만약 여기서 소수점을 원하는 자리에서 끊고 싶다면 아래와 같이 작성하면 된다.
num1 = 10
num2 = 3
print('{} 나누기 {}은 {:.2f}입니다'.format(num1, num2, num1 / num2))
## 10 나누기 3은 3.33입니다
{:.2f}로 작성하게 되면 소수점 2자리까지 표현된다.
만약 자리를 지정했으면 {2:.2f}와 같은 식으로 작성하면 된다. 정수로 표현하고 싶다면 {:0.f} 으로 작성. 여러가지 응용이 가능하다.
새로운 방식 (f-string)
name = '홍길동'
age = 25
print(f'제 이름은 {name}이고 {age}살입니다.')
## 제 이름은 홍길동이고 32살입니다.
파이썬 3.6 이후부터 사용 가능한 방식이다. 아직 대중화되지 않았지만 시간이 지나면 많이 쓰일 수 있으니 알아놓는 것이 좋다.
728x90
반응형
'파이썬[Python]' 카테고리의 다른 글
[Python/파이썬] Numpy(넘파이) 기초 정리 (0) | 2024.01.17 |
---|---|
[파이썬/Python] 로또 번호 시뮬레이션 프로젝트 (0) | 2023.11.08 |
[파이썬/Python] 리스트(List)의 다양한 함수 - 삭제, 삽입, 정렬 (2) | 2023.11.03 |
[파이썬/Python] 옵셔널 파라미터 (optional parameter) (2) | 2023.11.02 |
[파이썬/Python] 딕셔너리(dict) 정리 (0) | 2023.09.16 |