코딩하는 해맑은 거북이

[Python] 문자열 포맷팅 (String Formatting) 본문

Python/기본

[Python] 문자열 포맷팅 (String Formatting)

#CJE 2021. 1. 18.
해당 글은 아래의 문자열 포맷팅 3가지를 다룬다.
1. %-formatting
2. str.format()
3. f-String

 

문자열 포맷팅(String Formatting) : 문자열의 특정한 위치에 특정한 값을 삽입하는 것

1. %-formatting

- 언어 초반에 사용. 즉, 오래된 방식

- % 연산자를 통해 문자열에 숫자, 문자열 등을 대입할 수 있다.

- C언어에서 사용되는 방법(printf)으로 C언어 스타일이라고도 한다.

- 코드가 길어질수록 지저분해지기에 자주 사용하지 않는다.

%d, %x, %o 10진수, 16진수, 8진수
%f
%.숫자f
실수
표시할 소수점 아래 자리수(숫자)를 명시
%s 문자열
%% '%' 문자 자체를 출력
str1 = 'Name : %s, Age : %d' %('Hong GilDong', 19)
print(str1)

    Name : Hong GilDong, Age : 19

 

str2 = 'PI : %.2f' % 3.141592
print(str2)

    PI : 3.14

 

2. str.format()

- Python3 이후부터 제시된 방식

- 중괄호{ }를 사용하는 방식으로 .format()의 괄호 안에 중괄호{ }에 대입할 값을 입력한다.

- 중괄호{ }에 들어갈 순서 지정도 가능하다.

- %-formatting 보다 읽기 좋고 사용하기 쉽지만, 마찬가지로 코드가 길어질수록 지저분해진다.

str1 = 'Name : {}, Age : {}'.format('Hong GilDong', 19)
print(str1)

    Name : Hong GilDong, Age : 19

 

 

format에 변수를 지정해서 사용 가능하다.

str2 = 'Name : {name}, Age : {age}'.format(name='Hong GilDong', age=19)
print(str1)

    Name : Hong GilDong, Age : 19

 

 

순서를 지정해서 사용 가능하다.

str3 = 'Name : {0}, Age : {1}'.format('Hong GilDong', 19)
print(str3)

    Name : Hong GilDong, Age : 19

 

3. f-String가장 권장되는 방식

 

 

 

 

name = 'Hong GilDong'
age = 19
str1 = f'Name : {name}, Age : {age}'
print(str1)

    Name : Hong GilDong, Age : 19

 

str2 = f'3 x 4 = {3*4}'
print(str2)

    3 x 4 = 12

Comments