묻고 바로 답을 받는 자리
REPL은 코드를 읽고(Read), 계산하고(Evaluate), 출력하고(Print), 다시 기다리는(Loop) 대화형 환경이야. 한두 줄을 시험하고 객체를 살펴보기에는 최고지만, 오래 남길 작업은 파일로 옮겨야 해.
기억과 도움말을 써
위·아래 화살표로 이전 입력을 불러오고, 최근 결과는 _로 다시 쓸 수 있어. help(obj)는 사용법을, dir(obj)는 접근 가능한 이름을 보여줘. 모르는 객체를 만났을 때 검색창보다 먼저 객체 자체에 물어볼 수 있는 셈이야.
끝난 프로그램 위에서 계속 살펴보기
python -i script.py는 파일을 실행한 뒤 그 상태를 남긴 채 REPL로 들어가. 계산 결과와 변수들을 그대로 검사할 수 있어. Python 3.13의 기본 REPL은 여러 줄 편집과 색 표시가 좋아졌고, IPython과 bpython은 자동 완성·기록·풍부한 출력 같은 편의를 더해.
문자열을 코드로 실행하지 마
eval과 exec는 문자열을 Python 코드로 실행하므로 외부 입력에 쓰면 곧바로 코드 실행 권한을 내주는 셈이야. ast.literal_eval은 리터럴만 허용해 범위가 좁지만, 큰 입력이 자원을 소모할 수 있다는 점까지 사라지는 건 아니야.
원칙: REPL은 가설을 빠르게 확인하는 실험대야. 확인한 코드는 재현할 수 있도록 파일과 테스트로 옮겨.