Python/Basic

[파이썬]포매팅(formatting) 총정리 - 1

Ddolgom 2022. 9. 8. 15:39
반응형
파이썬에서는 표현식 기반 문자열 조합이라고 불리는 포매팅(formatting)의 방법이 존재한다.

 

변수로 지정된 문자(string)이나 숫자(integer, float)를 화면에 출력하기 쉽도록 하는 방법으로 생각하면 된다.

필자는 해커톤에서 사용을 해봤는데, 문법이 은근히 헷갈려 정리를 해보려고 한다.

 

# 1.
# String formatting expressions '표현식'을 기반으로 문자열을 조합하기

'__%s_%s__' % (value, value) 스타일 문자열 조합



# 2. 
# String formatting method calls '메소드 호출'을 통해 문자열 조합하기

'__{}_{}__'/format(value, value) 스타일 문자열 조합


#3. 
# f-string

f'__{변수} __' # 파이썬 3.6부터 사용되는 방식

첫번째 방식은 처음부터 존재하던 방식이고, 두 번째의 방식은 버전 2.6 이후에 등장한 방식이다.

해커톤이나 실무에서 사용이 많이 되는데, 특히 시계열을 다루거나 머신러닝 모델링을 하면서 시각화를 시키기 위해서 많이 사용된다.

 

사용예시

member1 = "김민주" 
age1 = 22
member2 = "조유리"
age2 = 22

맨 위의 변수들을 다음 블록과 같이 출력을 하고자 한다면, 위의 2가지 방법들이 사용된다.

 

이름: 김민주 나이 : 22
이름: 조유리 나이 : 22

 

1. 기본적인 방법

 

# String formatting expressions '표현식'을 기반으로 문자열을 조합하기

member1 = '김민주'
age1 = 22
member2 = '조유리'
age2 = 22

print('이름: %s 나이: %d' % (member1, age1)) # %s는 string 문자를 넣을 수 있고
print('이름: %s 나이: %d' % (member2, age2)) # %d는 integer(정수)를 넣을 수 있다.

# 출력 결과
이름: 김민주 나이 : 22
이름: 조유리 나이 : 22

 

2. format() 메서드를 사용한 방법

# String formatting method calls 'format()' 메서드를 기반으로 문자열을 조합하기

member1 = '김민주'
age1 = 22
member2 = '조유리'
age2 = 22

print('이름: {} 나이: {}'.format(member1, age1)) # {}안에 숫자입력 가능
print('이름: {} 나이: {}'.format(member2, age2))


# 출력 결과
이름: 김민주 나이 : 22
이름: 조유리 나이 : 22

다음과 같은 방식은 중괄호{} 안에 숫자가 삽입 가능하다. 

다만, 이름과 나이 둘에 상응하는 순서 0,1만 기입가능하다.

 

그리고 %s 같은 경우 숫자를 넣어도 정상 출력이 되는데, 숫자를 문자로 바꾸어서 출력을 하니까 그렇다.

 

3. f-string을 사용한 방법

# f-string을 기반으로 문자열을 조합하기

member1 = '김민주'
age1 = 22
member2 = '조유리'
age2 = 22

print(f'이름: {member1} 나이: {age1}') # {}안에 변수가 들어감
print(f'이름: {member2} 나이: {age2}')


# 출력 결과
이름: 김민주 나이 : 22
이름: 조유리 나이 : 22

세번째 방법은 변수가 중괄호{}에 직접 들어가는 방식으로 출력 결과는 똑같다.

 

 

반응형

'Python > Basic' 카테고리의 다른 글

[파이썬] Function 작성법 총정리  (0) 2023.07.21
[Python] lambda 함수 사용  (0) 2022.11.08
[Python] glob함수 사용  (0) 2022.11.07
[Python] 설치된 모든 패키지 버전 확인  (0) 2022.10.25
[Python] 파일 읽고 쓰기  (0) 2022.04.17