[파이썬] 파이썬 2와 파이썬 3의 컴파일 및 실행 방식 차이

파이썬은 인기있는 프로그래밍 언어 중 하나로, 파이썬 2와 파이썬 3는 가장 널리 사용되는 두 가지 버전입니다. 그들 사이에는 몇 가지 중요한 차이점이 있습니다. 이 중 하나는 컴파일 및 실행 방식입니다. 이 글에서는 파이썬 2와 파이썬 3의 컴파일 및 실행 방식에 대한 차이점을 알아보겠습니다.

1. 파이썬 2의 컴파일 및 실행 방식

파이썬 2는 스크립트 언어이므로, 컴파일 단계에서 코드를 기계어로 변환하지 않습니다. 대신, 소스 코드는 런타임 시에 바이트 코드로 변환됩니다. 바이트 코드는 .pyc 확장자를 갖는 파일에 저장되며, 이 파일은 파이썬 인터프리터에 의해 실행됩니다. 바이트 코드는 플랫폼에 독립적이므로 .pyc 파일은 한 번 컴파일되면 어떤 시스템에서나 실행할 수 있습니다.

파이썬 2에서는 파이썬 인터프리터로 직접 .py 소스 파일을 실행할 수도 있습니다. 이 경우, 소스 코드는 런타임 시에 인터프리터에 의해 실행됩니다.

2. 파이썬 3의 컴파일 및 실행 방식

파이썬 3는 파이썬 2와는 달리, 컴파일러를 사용하여 소스 코드를 직접 기계어로 변환합니다. 파이썬 3 컴파일러는 CPython이라고도 불리며, .py 소스 파일을 .pyc 바이트 코드 파일로 변환합니다. 이러한 바이트 코드 파일은 런타임 시에 파이썬 3 인터프리터에 의해 실행됩니다.

또한, 파이썬 3에서는 파이썬 인터프리터로 직접 .py 소스 파일을 실행할 수 있습니다. 이 경우, 소스 코드는 인터프리터에 의해 컴파일되고 실행됩니다.

예제 코드

아래는 파이썬 2와 파이썬 3에서 간단한 “Hello, World!” 프로그램을 실행하는 예제 코드입니다.

# 파이썬 2 버전
print "Hello, World!"

# 파이썬 3 버전
print("Hello, World!")

위의 예제 코드에서 볼 수 있듯이, 파이썬 2에서는 print 문이 괄호 없이 사용되지만, 파이썬 3에서는 괄호가 필요합니다.

이 글에서는 파이썬 2와 파이썬 3의 컴파일 및 실행 방식 차이에 대해 알아보았습니다. 파이썬 3는 파이썬 2와는 달리 소스 코드를 직접 기계어로 컴파일하는데, 이로 인해 몇 가지 문법적인 차이가 있습니다. 따라서, 파이썬 코드를 작성할 때는 버전에 주의하여야 합니다.