파이썬은 서식 지정자로 문자열을 만드는 방법과 format 메소드로 문자열을 만드는 문자열 포매팅이 있다.
서식 지정자는 %로 시작하고 자료형을 뜻하는 문자가 붙는다.
%s는 문자열이라는 뜻이며 string의 s이다. 이처럼 문자열 안에 %s를 넣고 그 뒤에 %를 붙인 뒤 'james'를 지정해주면 %s 부분이 'james'로 바뀐다.
%뒤에 문자열 대신 변수를 바로 적어도 된다.
>>> print('My name is %s' %'Sejin')
'My name is Sejin'
숫자는 %d 를 넣고 % 뒤에 숫자를 지정하면 된다. %d 는 10진 정수 decimal integer의 d이다.
>>> print('I have %d apples' % 5)
'I have 5 apples'
소수점으로 된 실수를 넣어야 할 경우는 고정 소수점 fixed point의 f를 가져와 %f 를 적고 뒤에 실수를 지정한다. %f 는 기본적으로 소수점 이하 6자리까지 표시한다.
소수점 이하 자릿수를 지정하고 싶을 경우 f 앞에 .(점)과 자릿수를 지정하면 된다.
>>> print('0.1 + 1.0 = %f' % (0.1 + 1.0))
'0.1 + 1.0 = 1.100000'
>>> print('pi is %.2f' % 3.141592)
'pi is 3.14'
문자열 안에 값을 여러 개 넣으려면 지정할 값들을 적고 괄호로 감싸 % 뒤에 적으면 된다. 서식 지정자의 개수에 맞춰 괄호 안 값의 개수도 맞춰야 한다.
>>> print('%s %d개의 길이는 %fcm입니다.' % ('지우개', 5, 10.5))
'지우개 5개의 길이는 10.500000cm입니다.'
서식 지정자 방식보다 더 간단한 문자열 포매팅 방식도 있다. 문자열 포매팅은 문자열 안에 { }(중괄호)를 적고 인덱스를 지정한 뒤 format 메소드에 넣을 값을 지정한다.
>>> print('I ate {} eggs.'.format(2))
'I ate 2 eggs.'
값을 여러 개 넣을 경우 format 뒤 괄호 안에 값을 적으면 되는데, { } 안에 인덱스를 적지 않았을 경우 순차적으로, 아니라면 인덱스에 맞춰서 적은 값이 들어간다.
>>> print('I ate {1} eggs with {0}.'.format('Enchae', 2))
'I ate 2 eggs with Enchae.'