요즘 파이썬을 공부하고 있는데, 파이썬 2.7 로 실습하다가 , 파이썬 3으로 바꾸다보니 기존에 사용하던 print 함수가 제대로 동작하지 않는 경우가 있음.
제일 중요한것은 2.7 버전에서는 print 가 괄호없이도 사용가능하였으나 3버전에서는 반드시 괄호를 사용해야 한다.
먼저 2.7 버전에서는
1. print 가 괄호 없이 사용 가능함. 즉 print "test123" 이 가능
2. C 언어의 printf와 같이 %d, %f 등의 포맷팅 사용 가능
print " test%3d " % (123)
3. format 내장함수를 이용하여 format
print "test{0} ".format(123)
그런데 3 버전에서는
반드시 괄호를 사용해야 하고, C언어의 printf 와 같은 형태의 포맷팅은 사용 불가하다. 그리고 포맷팅은 format 내장함수와 {} 기호를 이용한다.
print "test{0} ".format(123)
기존의 2버전 print "test%3d " % (123)의 경우에는
print ("test{:3d}".format(123)) 으로 변환
C의 printf 포맷팅에 사용되는 %3d 의 경우 {:3d} 로 변경되고 .format 을 이용하여 해당 포맷대로 값을 입력된다.
기존 2버전의 경우에 C형식의 printf 포맷팅이 지원되어 매우 반가웠는데, 3버전에서는 이에 대한 지원이 중단되어서 아쉬움이 남는다.
2버전에서 3버전의 주요 변화는 아래에 좋은 자료가 있으니 참조하기 바란다.
'개발 > Python' 카테고리의 다른 글
with.. as 절의 사용법 (0) | 2016.09.21 |
---|---|
Python mmap(Memory Mapped File) 함수 (0) | 2016.09.20 |
Numpy array 를 shape로 차원확인 하기 (0) | 2016.09.19 |
Python에서는 증감연산자 ++,-- 가 없다 (0) | 2016.09.19 |
PyQt4 와 PyQt5 에서의 Event 처리 방식의 변경. (0) | 2016.09.19 |