Programing Language/Python 3

파이썬의 동작 과정

🐍 파이썬 ↔ C 관계 & 가상환경1. 파이썬과 C의 관계파이썬(특히 CPython)은 사실상 C로 구현된 인터프리터예요.CPython: 가장 널리 쓰이는 파이썬 구현체 (Python 공식 배포판)핵심 원리:파이썬 소스 코드 → **바이트코드(.pyc)**로 컴파일이 바이트코드를 **C로 작성된 인터프리터(CPython VM)**가 실행파이썬 객체(PyObject)는 C 구조체로 관리됨즉:파이썬은 "문법과 문화를 가진 언어"CPython은 "C로 만들어진 실행기"a = 10 a는 스택에 참조 저장10은 힙에 PyLongObject라는 C 구조체로 생성👉 파이썬에서 int, list 같은 객체들은 실제로 C 언어 구조체에 불과함. 2. 왜 C 기반으로 동작할까?성능: C는 저수준 언어라서 메모리와 C..

파이썬 메모리 구조 개요

🐍 파이썬 메모리 구조 & GC 정리1. 메모리 구조 개요파이썬 인터프리터(CPython 기준) 메모리 구성:스택(Stack)함수 호출 시 로컬 변수, 참조 저장함수 종료 시 자동 해제실제 데이터가 아닌 객체 참조(포인터) 저장힙(Heap)모든 파이썬 객체(list, dict, 사용자 정의 객체 등) 저장GC와 메모리 풀(Pymalloc) 관리크기 동적 할당코드/전역 영역전역 변수, 상수, 함수 정의 저장프로그램 종료 전까지 유지2. 힙 메모리와 객체 구조모든 객체는 PyObject 구조체로 관리됨.typedef struct { Py_ssize_t ob_refcnt; // 참조 카운트 struct _typeobject *ob_type; // 객체 타입} PyObject;ob_re..

Python 데코레이터(Decorator)

데코레이터의 기본 개념데코레이터는 다른 함수를 인자로 받아, 새로운 함수를 반환하는 함수입니다. 즉, 데코레이터를 사용하면 기존 함수의 기능을 바꾸거나 확장할 수 있습니다. 형태:def decorator_function(original_function): def wrapper_function(*args, **kwargs): # 추가 동작 print(f"{original_function.__name__} 함수가 호출되었습니다.") result = original_function(*args, **kwargs) # 추가 동작 print(f"{original_function.__name__} 함수가 종료되었습니다.") return ..

반응형