프로그래밍 언어/Python

파이썬(python) #4_ 문자열 포매팅

Tigercow.Door 2017. 11. 12. 14:07

안녕하세요.

오늘은 파이썬에서 문자열 포매팅에 대해서 알아보도록 하겠습니다.

특정한 값이나 변수등을 문자열에 입력하거나 문자열이 변수에 값에 의해 바뀌어야 하는 등의 상황에서 유용하게 사용될 수 있습니다.


1. 문자열 포매팅


먼저 아래와 같은 상황이 있다고 생각해봅시다.



근데 만약, a라는 변수의 값을 5로 바꾼다면?



그럼 b의 문장, "변수 a의 값은 3입니다."라는 문장은 틀리게 됩니다.

그럼 b의 문장이 참이 되도록, 문장에서 특정한 값을 바꾸게 하는 방법은 무엇이 있을까요?

바로 문자열 포매팅입니다.

문자열 포매팅이란 문자열안에 특정한 값을 삽입하는 방법을 말합니다.

문자열 포매팅에는 숫자를 대입하거나 문자열을 대입하는 등 다양한 방법이 있습니다.

하나씩 알아보도록 할게요.



1-1. 숫자 바로 대입하기



위의 예제에서 처럼 숫자를 대입하고 싶은 곳에 %d 를 입력하고 해당 부분에 삽입할 숫자는 문자열 가장 뒤에 % (숫자)를 입력함으로써 문자열 포매팅을 합니다.

이때 %d 는 문자열 포맷 코드라고 부르는데, 뒤에서 자세히 알아보도록 하겠습니다.



1-2. 문자열 바로 대입하기



숫자를 바로 대입하는 방식과 비슷한 방식으로 진행됩니다.

차이점은 숫자 바로 대입에서는 %d 가 쓰였지만, 문자열 바로 대입에서는 %s 가 사용된 점입니다.

역시나 %s 는 문자열 포맷 코드라고 부르며 자세한 이야기는 뒤에서 나누도록 하겠습니다.



1-3. 변수로 대입하기


그럼 숫자 또는 문자열을 바로 대입하는 것이 아니라, 변수로써 대입하는 방법은 무엇일까요?

아래 예제를 통해 알아보도록 하겠습니다.



위의 예제를 통해 대충 감이 잡히시나요?

먼저 한가지 알아야 할 점은, 변수의 값이 숫자형인지 문자열인지 알아야합니다.

만약 변수의 값이 문자열이라면 문자열 포맷 코드를 %d는 사용하지 못하고 %s를 사용해야 합니다.

하지만 변수의 값이 숫자라면 일반적으로 %d 를 사용하지만 %s 또한 사용이 가능합니다.



1-4. 여러개 대입하기



한번에 여러 숫자 또는 여러 문자열을 대입하는 방법은 위의 예제처럼,

각각의 변수를 % 뒤에 괄호를 하고 그 내부에서 콤마(,)로 구분하면 됩니다.



2. 문자열 포맷 코드


위에서 문자열 포맷 코드라는 이야기가 나왔는데요, 대체 무엇일까요?

쉽게 말해서 특정 값이나 변수를 문자열로 포맷시킬때 이용되는 코드입니다.

위의 예제에서 보았던 것 처럼, 문자열은 %s로 받아야하고, 문자열을 %d로 받으면 오류가 난다고했죠?

그런 개념입니다.

문자열 포맷 코드는 아래 표를 참고하시면 되겠습니다.


설명

%s

문자열(String)

%c

문자 1개(Character)

%d

정수(Integer)

%f

부동 소수(floating-point)

%o

8진수

%x

16진수

%%

Literal % (문자 % 그 자체)



3. 포매팅 응용하기


위에서 쭉 알아보았듯이, 문자열 포매팅은 특정 값을 문자열 내에 삽입하기 위해서 사용됩니다.

그리고 그러한 포매팅에서 더욱 유용하게 사용될 수 있는 몇가지를 소개하겠습니다.


3-1. 정렬 및 공백


포매팅을 할때 특정 값이 몇칸의 공백을 가질 것인지, 그리고 정렬은 어떻게 할 것인지 정할 수 있습니다.

아래 예제로 확인하세요.



위의 예제에서 볼 수 있듯이 문자열을 포맷할때에는 크게 아래와 같이 구분이 됩니다.

%   (- / +)   (숫자)   (포맷 코드)

이때, -는 왼쪽 정렬, +는 오른쪽 정렬입니다.

또한 숫자는 해당 값이 문자열에서 몇 칸을 가질 것인지를 정해줍니다.



3-2. 소수점 표현하기


또한 소수를 표현할때 몇번째 자리 까지 표현할지를 조정할 수 있습니다.

아래 예제를 통해 확인하세요.




4. 문자열 포매팅 총 정리


지금까지 알아본 문자열 포매팅을 간단하게 정리해보도록 하겠습니다.

먼저 문자열에 특정 한 값을 대입하기 위해 사용되는 문자열 포매팅은 기본적으로 아래와 같은 구조를 가집니다.

"문자열 포매팅은 %  (- or +)  (숫자1 . 숫자2)  (포맷 코드) 번째 포스팅입니다." % (숫자 및 문자열 및 변수.. 포맷코드에 맞도록!)

(- or +) 를 통해 입력되는 값을 왼쪽 정렬로 할지 오른쪽 정렬로 할지 결정할 수 있습니다.

(숫자1 . 숫자2)  에서는 숫자1을 통해 입력되는 값이 문자열에서 몇칸을 가질지, 그리고 숫자2는 만약 소수를 표현하는 것이라면 소수점 몇번째 자리까지 표시할 것인지를 결정할 수 있습니다.

(포맷 코드) 는 입력되는 값이 어떠한 자료형인지 확인하고 그에 맞춰서 올바른 코드를 입력해야 합니다.



이렇게 해서 파이썬의 문자열 포매팅에 관해 알아보았습니다.

다음 포스팅에서는 파이썬에서 문자열과 관련된 함수들을 소개해드리도록 하겠습니다.

728x90