파이썬 2는 2000년에 출시된 버전이고 파이썬 3은 2008년에 출시된 버전입니다. 파이썬 최신 버전은 3.12까지 출시되었는데 아직도 파이썬 2를 사용하는 개발자 즉 프로그래머의 비율이 30%를 넘는다고 합니다. 아무래도 파이썬 3으로 버전 업을 하는 것은 많은 시간과 비용이 소요되기 때문이겠죠. 그럼 파이썬 2와 파이썬 3 버전을 비교해 보겠습니다.
파이썬 2와 파이썬 3 버전을 비교해보면 몇 가지 차이점이 있는데요. 문자열 처리, 숫자 표현, 함수 호출, 모듈 가져오는 작성법 등의 차이가 있습니다.
문자열 처리의 경우 파이썬 2에서는 문자열이 기본적으로 ASCll로 처리됩니다. 유니코드 문자열을 사용하려면 문자열 앞에 "u"를 붙여야 합니다.
반면에 파이썬 3에서는 문자열이 기본적으로 유니코드로 처리됩니다. ASCll 문자열을 사용하려면 문자열 앞에 "b"를 붙여야 합니다.
숫자 표현의 경우 파이썬 2에서는 정수가 기본적으로 부호가 없는 32비트 정수로 처리됩니다. 부호가 있는 64비트 정수를 사용하려면 문자열 앞에 "L"을 붙여야 합니다.
반면에 파이썬 3에서는 정수가 기본적으로 부호가 있는 64비트 정수로 처리됩니다. 부호가 없는 32비트 정수를 사용하려면 문자열 앞에 "0o" 즉 부호가 없는 8진수 정수를 붙여야 합니다.
함수 호출의 경우 파이썬 2에서는 함수를 호출할 때 인수를 괄호 안에 넣어야 합니다. 반면에 파이썬 3에서는 함수를 호출할 때 인수를 괄호 안에 넣지 않아도 됩니다.
모듈 가져오는 작성법의 경우 파이썬 2에서는 모듈을 가져올 때 "import 모듈명"과 같이 작성합니다. 반면에 파이썬 3에서는 모듈을 가져올 때 "from 모듈명 import 함수명, 클래스명"과 같이 작성할 수도 있습니다.
이외에도 파이썬 3에서는 "True"와 "False"가 기본적으로 대문자로 되어 있습니다. 또한 파이썬 3에서는 "None"이 기본적으로 대문자로 표기되고 "break"와 "continue" 키워드가 문장 끝에 작성되어야 합니다.
파이썬 2와 파이썬 3의 호환성 측면에서 볼 때 파이썬 2 코드는 파이썬 3에서 대부분 실행되지만 몇 가지 차이점으로 인해 오류가 발생할 수 있습니다.
파이썬 2 코드를 파이썬 3에서 실행하려면 파이썬 2 코드를 파이썬 3으로 변환하는 도구를 사용해야 합니다. 또한 파이썬 3에서 "python -c" 명령을 사용하여 파이썬 2 코드를 실행합니다.
결론적으로 정리하면,
파이썬 2와 파이썬 2은 공통적인 부분이 많이 있지만 위와 같이 문자열 처리, 숫자 표현, 함수 호출, 모듈 가져오는 작성법 등의 중요한 차이점이 있습니다. 파이썬 2는 출시된지 오래되었기 때문에 파이썬 2에 대한 지원은 점점 축소할 것으로 보입니다.
Python Software Foundation은 2020년 이후로 파이썬 2에 대한 보안 업데이트를 더 이상 제공하지 않으며 많은 라이브러리와 프레임워크는 파이썬 3에만 지원하고 있습니다.