Python 문자열 대입(sprintf, format) 사용 방법

문자열에 변수값을 대입하고 싶은 경우가 있습니다.

자주 사용하는 방법으로 2가지를 보도록 하겠습니다.

 

sprintf

가장 많이 사용하는 방법이 아닐까 합니다.

문자열에 % 연산자를 사용해 값 또는 list/tuple을 대입합니다.

 

sprintf 예제

a = 'Python'
b = 'a programming language'
print('%s is %s' % (a, b))

 

결과

'Python is a programming language'

 

‘%s is %s’문자열 안에 %s 가 2개 설정되어 있습니다.

%s 뜻은 문자를 대입하겠다는 의미로 예제에서는 2개를 지정했기 때문에 2개의 문자를 %s대신에 대입하겠다는 의미입니다.

그리고 %s대신 대입할 문자열도 2개를 지정해야 합니다.

변수 a와 b가 %s대신에 순서대로 대입되게 됩니다.

물론 하나만 지정해서 사용하는 것도 가능합니다.

c = 'World'
print('Hello, %s!' % c) # =>

 

결과

'Hello, World!'

 

%s 를 지정한 개수만큼 대입할 변수 또는 문자열 개수를 맞춰주면 됩니다.

sprintf는 문자열뿐 아니라 숫자를 대입할 수도 있습니다.

 

대입기호내용
 %s 문자열로 대입
 %d  숫자로 대입
 %f  소수점으로 대입

 

format 함수

format 또한 자주 사용하는 방법입니다.

print('{0}, {1}'.format('Hello', 'World'))

 

결과

'Hello, World'

 

대입하고 싶은 문자열 개수만큼 0부터 숫자를 지정합니다.

지정할 때에는 괄호를 사용해 {0}{1}{2}…{n} 감싸줘야 합니다.

그리고 출력할 문자열을 format() 함수에 지정해주면 됩니다.

댓글