기존 방식을 원하는 유저들이 2.7버전의 유지를 원해서 파이썬 홈페이지에서도 아직까지 2.7버전에 대한 서비스를 하고 있다.
크게 다른 특징은 다음과 같다.
파이썬 3 버전은 출력할 문자열에 괄호를 필요로 한다.
파이썬 3 버전의 예
>>> print ("Hello Python")
파이썬 2.7 버전의 예
>>> print "Hello Python"
파이썬 2.7 버전인 경우 파이썬 3 버전처럼 괄호를 사용해도 동일하게 동작한다. (단, 2.7 버전 이하의 파이썬 구버전에서는 오류가 발생할 수 있다.)
줄바꿈 방지
print 문 실행 시 항상 문자열 마지막에 \n 문자가 출력되어 줄바꿈이 일어나게 된다. 이렇게 마지막 문자인 \n을 생략할 수 있는 방법이 있는데 이것또한 파이썬 3 버전과 파이썬 2.7 버전이 서로 다르다.
\n
>>> print ("No new line", end=" ");print ("ok?")
파이썬 3 버전의 경우 줄바꿈 문자를 제거하기 위해서 위와 같이 끝 문자를 지정할 수 있는 end 파라미터를 설정하면 된다. 지정하지 않으면 디폴트로 \n문자가 세팅된다.
>>> print "No new line",;print "ok?"
파이썬 2.7 버전의 경우 줄바꿈 문자를 제거하기 위해서 문자열의 끝에 콤마(,)를 덧불이면 된다.
,
파이썬 3의 경우 숫자연산 시 자동으로 형 변환이 된다.
>>> 3 / 4
0.75
0
>>> 3 / 4.0
파이썬 3 버전의 input 내장함수와 파이썬 2.7버전의 raw_input 내장함수는 동일하다. 기존 파이썬 2.7의 input 내장함수는 파이썬 3부터는 더이상 지원되지 않는다.
input
raw_input
>>> name = input("이름을 입력하세요:")
>>> name = raw_input("이름을 입력하세요:")
파이썬 3 버전부터는 utf-8이 기본 소스코드 인코딩이므로 다음과 같은 문자열을 소스코드 첫줄에서 생략할 수 있다.
utf-8
# -*- coding: utf-8 -*-
하지만 utf-8 이 아닌 다른 형태의 소스코드 인코딩을 사용해야 할 경우에는 해당 인코딩을 명시해야 한다. 하지만 파이썬 2.7 버전은 무조건 위와 같은 문자열을 소스코드 첫 줄에 명시해야만 인코딩 오류가 발생하지 않는다.
이외에도 줄바꿈, 인코딩 등도 다른 부분이 있다.