문자열에 변수값을 대입하고 싶은 경우가 있습니다.
자주 사용하는 방법으로 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() 함수에 지정해주면 됩니다.
댓글