파이썬은 해석형 언어인가요? 컴파일 될까요?
이 질문은 생각보다 대답하기 쉽지 않습니다. 세상을 이해하는 많은 사람들처럼 그들도 단순한 모델을 기반으로 어떤 것을 판단하는 데 익숙합니다. 사실, 여기에는 아주 많은 세부 사항이 포함되어 있습니다.
일반적으로 컴파일 은 고급 언어를 CPU에서 실행할 수 있는 기계어 코드로 변환하는 것을 의미합니다. C를 컴파일할 때, 이것이 바로 당신이 하는 일입니다. 컴파일 결과는 바이너리 실행 파일이며 시스템은 이 프로그램을 직접 실행할 수 있습니다.
반대로 설명 의 의미는 프로그램이 실행될 때마다 소스 파일의 코드 한 줄을 읽어 해당 작업을 수행한다는 것입니다. 이 줄처럼 한 줄씩 반복하세요. 물론 이것이 소위 스크립팅 언어가 작동하는 방식입니다.
Python에서 소스 코드는 바이트코드라고 하는 하위 수준 형식으로 컴파일됩니다. 바이트코드는 CPU의 명령어 세트와 유사한 일련의 명령어입니다. 그러나 바이트코드는 CPU에 의해 직접 실행되지 않고 가상 머신에서 실행됩니다. 물론 여기서의 가상머신은 운영체제 환경 전체를 모방한 것이 아니라 바이트코드 실행을 위한 환경만을 제공한다.
Python에는 대화형 명령줄이라는 중요한 기능도 있습니다. Python 문 한 줄을 입력하고 즉시 Enter 키를 눌러 실행할 수 있습니다. 실제로 이 과정에서도 파이썬은 먼저 바이트코드로 변환된 후 실행된다. 이 대화형 명령줄 기능은 많은 컴파일된 언어에서 사용할 수 없습니다. 또한 컴파일러에 대한 명시적인 호출이 없기 때문에 많은 사람들이 Python 소스 파일을 실행하는 프로그램을 Python 인터프리터 라고 부릅니다.
비교적 간단하지만 그래도 추가하고 싶습니다. C나 JAVA와 같은 일부 컴파일된 언어에도 대화형 명령줄이 있지만 이는 이러한 언어의 초점이 아닙니다. JAVA는 먼저 바이트코드로 컴파일된 후 실행되었으며, 나중에 JIT(Just-In-Time Compilation) 기술을 사용하여 C와 유사한 기계어 코드로 직접 컴파일될 수 있습니다.
위의 설명에서 알 수 있듯이 해석과 편집은 완전히 분리될 수 없습니다. 우리는 기존 프로그래밍 언어를 분류하기 위해 몇 가지 단어를 사용하고 싶은 경우가 많지만 실제로는 그렇게 하기가 너무 어렵습니다.
파이썬을 해석형 언어라고 부르는 이유는 컴파일 연산을 명시적으로 호출하지 않고 해석형 특성을 더 많이 보여주기 때문입니다. 그러나 실제로 컴파일은 존재합니다. 이를 컴파일하는 방법은 언어의 구현, 즉 인터프리터의 설계에 따라 다릅니다.
위 내용은 파이썬은 해석된 언어인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!