2025/04/27 4

파이썬에서 언더스코어 두 개(__)와 Name Mangling(맹글링)의 차이

파이썬 코드를 보다 보면어떤 파일이나 변수 이름에 언더스코어(_)가 두 개 붙은 것을 볼 수 있습니다.이 글에서는파일명/변수명에 언더스코어를 두 개 붙이는 이유Name Mangling(맹글링)이란 무엇인가맹글링은 왜 필요한가를 차근차근 정리해봅니다. 언더스코어 두 개(__) 사용 – 내부 전용 표시파이썬에서는 파일이나 변수 이름 앞에 **언더스코어 두 개(__)**를 붙이면,"이건 내부 전용이니까 외부에서 직접 쓰지 마세요" 라는 의미를 전달합니다.❗ 하지만 주의할 점:Python은 이걸 강제하지 않습니다.단순히 **"개발자끼리의 약속(convention)"**일 뿐입니다. 예시:project/├── __internal_module.py├── public_module.py __internal_module..

파이썬 pathlib에서 디렉토리 생성할 때 알아야 할 두 가지 옵션

파이썬 프로젝트를 구성할 때, 필요한 폴더(디렉토리)를 자동으로 생성해주는 코드를 자주 작성합니다.특히 pathlib 모듈을 사용할 때는 mkdir() 메서드의 두 가지 옵션을 제대로 이해하는 것이 중요합니다.이번 글에서는 그 옵션들을 간단하게 정리해볼게요. 기본 코드 예시for dir_path in [DATA_DIR, RAW_DATA_DIR, PROCESSED_DATA_DIR, MODEL_OUTPUT_DIR]: dir_path.mkdir(parents=True, exist_ok=True) 두 가지 중요한 옵션 왜 이 옵션이 필요할까?parents=True가 없으면 상위 폴더가 없을 때 오류가 발생할 수 있어요.exist_ok=True가 없으면 이미 폴더가 존재할 경우 오류가 나버립니다.→ 이 ..

파이썬에서 변수명을 대문자로 쓰는 이유는?

파이썬 코드에서 가끔 PROJECT_ROOT, **DATA_DIR**처럼모두 대문자로 작성된 변수명을 볼 때가 있습니다."왜 소문자가 아니라 대문자로 썼을까?" 궁금해본 적이 있다면,이 글을 통해 간단히 정리해볼게요! 대문자 변수는 "상수"를 의미한다파이썬에서는 변하지 않는 값(상수, Constant) 을대문자+언더스코어 형식으로 작성하는 것이 관례입니다. 예를 들어:PROJECT_ROOT = Path(__file__).resolve().parentDATA_DIR = PROJECT_ROOT / "data" 여기서 PROJECT_ROOT, DATA_DIR는코드 실행 중에 변하지 않을 값을 저장하는 용도입니다. 왜 대문자로 작성할까? 공식 권장사항 (PEP8)파이썬 스타일 가이드(PEP8)에서도 이렇게 ..

os.path vs pathlib.Path – 파이썬 경로 처리 방식 차이 이해하기

파이썬에서 파일이나 디렉토리 경로를 다룰 때 os.path와 pathlib.Path를 모두 볼 수 있습니다.둘은 비슷해 보이지만, 실제로는 스타일과 철학이 다릅니다.이번 글에서는 이 둘의 차이를 간단하고 직관적으로 정리해보겠습니다. os.path란?os.path는 경로 관련 기능을 제공하는 함수 기반 모듈입니다.경로 연결, 절대 경로 변환, 디렉토리 추출 등을 함수로 처리합니다.전통적인 방식으로, 파이썬 초창기부터 존재해왔습니다.import osPROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) pathlib.Path란?pathlib.Path는 객체지향 방식으로 경로를 다루는 모듈입니다.파이썬 3.4부터 도입된 비교적 현대적인 스타일입니다.경로를 문자열..