Files

2.9 KiB

id, created, tags, aliases
id created tags aliases
CPython 20260410 2026-04-10 09:16
python

💡 생각

Python은 일종의 문법이고 이 문법을 cpu가 알아먹을 수 있게 변환해주는 엔진이 CPython이다.

[!question] Q. Python은 일종의 문법이고 이 문법을 cpu가 알아먹을 수 있게 변환해주는 엔진이 CPython이다. 라고 보면되는거야?

A. 정확한 요약입니다! 비유하자면 **Python은 언어(설계도)**이고, CPython은 그 언어를 실행 가능한 기계어로 번역해주는 번역가(구현체) 라고 볼 수 있습니다.

그래서 CPython 을 사용할 때 Visual Studio Build Tools 가 필요한가보다. 기반이 C니까..


📑 개념

CPython은 Python 프로그래밍 언어의 기본 구현체이자, 전 세계에서 가장 널리 사용되는 파이썬 실행기입니다. 파이썬 언어 자체는 '명세(Specification)'이고, 이를 실제로 컴퓨터에서 돌아가게 만든 '소프트웨어'가 바로 CPython입니다.

📌 파이썬의 표준 구현체: CPython

우리가 터미널에 python이라고 입력해서 실행하는 프로그램의 정식 명칭은 CPython입니다. 이는 파이썬이라는 언어의 설계도(명세)를 C 언어로 구현한 결과물입니다.

  • 해석기(Interpreter): 파이썬 코드를 읽어서 컴퓨터가 이해할 수 있는 바이트코드로 바꾸고 실행하는 엔진 자체가 C로 작성되어 있습니다.

  • 자료형: 파이썬의 숫자(int), 리스트(list), 딕셔너리(dict) 같은 기본 자료형들도 내부적으로는 C의 구조체(struct)로 정의되어 있습니다.

주요 특징

  • C 언어로 작성: 이름에서 알 수 있듯이 C 언어로 개발되었습니다. 파이썬 코드를 실행하기 위해 C 언어의 성능과 시스템 접근 능력을 활용합니다.

  • 인터프리터이자 컴파일러: 파이썬 코드를 바로 실행하는 것처럼 보이지만, 내부적으로는 파이썬 코드를 바이트코드(Bytecode) 로 먼저 컴파일한 후, 이를 CPython 가상 머신(VM)에서 해석하여 실행합니다.

  • 표준 구현체: 파이썬 재단(PSF)에서 관리하며, 새로운 파이썬 기능이 추가될 때 가장 먼저 반영되는 기준점이 됩니다.

📝 파이썬을 실행하는 도구는 CPython 외에도 여러 가지가 있습니다.

Note

종류 특징
PyPy JIT(Just-In-Time) 컴파일러를 사용하여 CPython보다 실행 속도가 훨씬 빠름.
Jython 자바 가상 머신(JVM) 위에서 동작하며 자바 라이브러리 활용 가능.
IronPython .NET 프레임워크 기반으로 동작.

하지만 Python 이라고 하면 그냥 CPython 이라고 보면 됨. 하지만 CPython이 가장 널리 쓰이기 때문에, 보통 우리가 파이썬이라고 부르는 것은 이 CPython 엔진을 뜻하는 경우가 99%입니다. 라고 함.