[python] split VS [C] strtok - Week9-11-team03/Pintos-User-Program GitHub Wiki

✅ Python split() vs C strtok_r() 개념 비교

항목 Python split() C strtok_r()
처리 방식 문자열 전체를 한 번에 잘라 리스트로 반환 문자열을 하나씩 잘라서 매번 반환 (반복 호출 필요)
사용 예시 "echo hello world".split(" ")["echo", "hello", "world"] strtok_r()"echo""hello""world" 순차적으로 반환
내부 동작 문자열을 분석하여 리스트로 복사 후 새로 생성 원본 문자열에 \0 삽입하며 직접 수정
상태 관리 없음 (한 번에 끝남) save_ptr을 사용해 다음 위치 기억
원본 문자열 변경되지 않음 직접 변경됨 (구분자가 \0으로 바뀜)
사용 난이도 매우 직관적 (한 줄로 처리 가능) 포인터, 반복문, 상태 유지 필요
메모리 처리 자동 메모리 관리 (가비지 컬렉터) 수동 관리, 복사본 필요할 수 있음
대표 특징 요약 사용 편의성과 가독성이 뛰어남 저수준 제어 가능, 시스템 프로그래밍 적합

🧠 비유적 설명

설명 항목 Python split() C strtok_r()
비유 칼로 한 번에 자르는 느낌 (쓱 베기) 하나씩 자르고 자른 지점에 표시 붙이는 느낌 (책갈피 방식)
처리 흐름 한 번에 결과 완성 → 바로 사용 한 조각씩 꺼내서 → 반복문으로 모아야 함
동작 이미지 ["echo", "hello", "world"] 리스트를 즉시 획득 echo → hello → world 순차적으로 꺼내며 원본을 파괴