sys.argv는 명령행을 그대로 담은 목록이야. 0번은 실행한 프로그램 이름이고, 그 뒤의 인자는 아직 해석하지 않은 문자열이야. 위치 인자 한두 개만 받는 작은 도구에는 충분하지만 선택 항목·형 변환·검증·도움말이 생기면 argparse로 넘어가.
ArgumentParser에 input처럼 이름만 주면 위치 인자, --input처럼 대시를 붙이면 선택 항목이 돼. 타입·기본값·choices·action을 선언하면 parse_args가 검증과 변환을 하고 이름공간을 돌려줘. --help도 자동으로 생겨.
하위 파서는 하나의 실행 파일 아래에 add·remove 같은 하위 명령을 묶어. 파서 정의는 CLI의 공개 계약이니 동작만큼 도움말과 오류도 사용자가 읽기 좋게 써.