문자열 중간에 어떤 변수의 내용을 출력하고 싶다면 print()함수를 이용하면 된다.
>>> a=3+4j>>> b=’hi’>>> print('a is',a,’and b is’,b) #변수 앞뒤에 공백문자를 자동으로 넣어준다.a is (3+4j) and b is hi |
또는 변수의 내용으로 아예 치환한 문자열을 만들고 싶다면 str() 내장함수를 이용하는 방법도 있다.
>>> a=3+4j>>> b=’hi’>>> ‘a is ‘+str(a)+’ b is ‘+ ba is (3+4j) and b is hi |
더 간단하고 일반적인 방법은 문자열 포맷팅 기능을 이용하는 것이다. C 언어에서 printf() 문을 이용하여 변수의 내용을 출력하는 유사한 방법을 파이썬에서도 지원한다. 이것을 문자열의 formatting이라고 하는데 예를 들어서 정수값을 출력하고 싶다면 다음과 같이 하면 된다.
>>> a=11>>> “a equals %d.”%a |
이와 같이 문자열 내부의 %d는 문자열에 바로 뒤따르는 ‘%변수’의 변수값으로 바꾸어 준다. 두 개 이상을 출력하려면 다음과 같이 괄호로 묶어주면 된다. (괄호로 묶인 자료 집합을 튜플이라고 하며 뒤에서 자세하게 설명할 것이다.)
>>> a=11
|
실수를 출력하려면 %f, 문자열을 출력하려면 %s를 사용하면 된다.
[표 1] 문자열 formatter 의 종류
문자열 포맷팅
|
기능
|
%d, %x, %o
|
십진수, 16진수, 8진수(복소수는 출력이 안 됨)
|
%f
%.숫자f
|
실수를 출력 (복소수는 출력이 안 됨.)
표시할 소수점 아래 자리수를 명시한다.
|
%s
|
문자열 출력
|
%%
|
‘%’ 문자 자체를 출력
|
문자열을 출력하는 예를 들어보면 다음과 같다.
>>> ss = 'short'
>>> print('Life is %s.'%ss) Life is short. |
아래 예와 같이 실수의 경우 표시할 소수점 아래 자리수를 지정해줄 수 있다.
>>> rn = 1.2345678
|
소수점 다섯째 자리에서 반올림하여 소수점 넷째 자리까지 표시했음을 알 수 있다.
한 가지 짚고 넘어갈 것은 %d와 %f 는 복소수는 출력하지 못한다. 복소수는 %s를 이용하여 출력하면 된다.
>>> c1=11+22.3j
|
재미있는 것은 %s를 이용하면 숫자나 문자열을 가리지 않고 모두 출력해준다는 것이다. 이는 숫자도 내부적으로 자동으로 문자열로 변환되기 때문이다.
>>> n=1024
|
따라서 숫자를 출력하든 문자를 출력하든 %s를 사용하여도 전혀 문제가 없다.
댓글 없음:
댓글 쓰기