프로그래밍기능사 · 프로그래밍 언어 과목
프로그래밍기능사 파이썬 개념 정리
중요도 ★★★★★ · 30% (추정)
AI가 새로 쓴 글 가운데, 작성과 분리된 AI 검증(다시 읽고 사실·수치 확인)을 통과한 단원만 싣습니다. 틀린 곳을 발견하면 알려 주세요.
개요
이 단원은 파이썬의 기본 문법을 다룹니다. 여러 값을 담는 리스트·튜플·딕셔너리, 원하는 부분만 잘라 내는 슬라이싱, 그리고 반복문과 함수가 중심입니다. 파이썬은 중괄호 대신 들여쓰기로 코드 묶음을 나타낸다는 점이 다른 언어와 가장 크게 다릅니다.
리스트는 대괄호로 만들고 나중에 값을 고칠 수 있습니다. 튜플은 소괄호로 만들고 한 번 만들면 고칠 수 없습니다. 딕셔너리는 중괄호 안에 '키: 값' 짝을 넣어 만들고, 키로 값을 찾습니다. 슬라이싱 a[시작:끝] 은 시작 위치부터 끝 바로 앞까지를 잘라 오며, 번호는 0부터 셉니다. 음수 번호 -1 은 맨 뒤 값을 뜻합니다.
range(시작, 끝) 은 시작부터 끝 바로 앞까지의 정수를 만들기 때문에 range(1, 5) 는 1, 2, 3, 4 입니다. 숫자를 하나만 쓰면 0부터 시작합니다. 함수는 def 로 만들고 return 으로 결과를 돌려줍니다. 나눗셈에서 / 는 소수점까지 계산하고, // 는 몫만, % 는 나머지만 구한다는 점도 알아 두세요.
핵심 개념
리스트와 튜플
리스트는 [ ] 로 만들고 값을 바꾸거나 더할 수 있습니다. 튜플은 ( ) 로 만들고 한 번 만들면 값을 바꿀 수 없습니다.
외우는 요령튜플은 '봉인된 상자' — 열어서 바꿀 수 없습니다.
딕셔너리
{ } 안에 '키: 값' 짝을 넣어 만드는 자료형입니다. 번호가 아니라 키로 값을 찾습니다. 같은 키를 두 번 넣으면 나중 값이 남습니다.
외우는 요령사전에서 낱말(키)로 뜻(값)을 찾는 것과 같습니다.
슬라이싱
a[시작:끝] 은 시작 번호부터 끝 번호 바로 앞까지를 잘라 옵니다. 번호는 0부터 세고, -1 은 맨 마지막 값입니다. a[::-1] 은 순서를 뒤집습니다.
외우는 요령'끝 번호는 안 들어간다'만 기억하면 됩니다.
range 함수
range(시작, 끝, 간격) 은 시작부터 끝 바로 앞까지 정수를 만듭니다. range(5) 는 0, 1, 2, 3, 4 이고, range(1, 10, 3) 은 1, 4, 7 입니다.
외우는 요령range 도 슬라이싱처럼 끝 숫자는 빠집니다.
/ 와 // 와 %
/ 는 소수점까지 계산한 나눗셈, // 는 몫만 구하는 나눗셈, % 는 나머지입니다. 7 / 2 는 3.5, 7 // 2 는 3, 7 % 2 는 1 입니다.
외우는 요령빗금이 두 개면 '몫만'.
자주 나오는 포인트
- 슬라이싱 결과를 묻는 문제를 대비하세요. 끝 번호는 포함되지 않습니다.
- range 로 반복한 합계나 출력 횟수를 묻습니다.
- 값을 고칠 수 없는 자료형(튜플)을 고르는 문제가 나옵니다.
- / 와 // 의 결과 차이를 묻는 선지를 조심하세요.
헷갈리는 것 비교: 리스트·튜플·딕셔너리
| 구분 | 리스트 | 튜플 | 딕셔너리 |
|---|---|---|---|
| 만드는 기호 | [ ] | ( ) | { 키: 값 } |
| 값 고치기 | 된다 | 안 된다 | 된다 |
| 값 찾는 방법 | 번호(0부터) | 번호(0부터) | 키 |
대표 문제 3개
검수를 마친 예상문제 가운데 이 단원의 대표 문제입니다.
문제 1. 다음 파이썬 코드의 출력 결과는? print(10 // 3, 10 % 3, 2 ** 3)
- ① 1 3 8
- ② 3 1 8
- ③ 3.3333333333333335 1 8
- ④ 3 1 6
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② 3 1 8
핵심: // 는 몫, % 는 나머지, ** 는 거듭제곱
- 10 // 3 → 10 을 3 으로 나눈 몫 → 3
- 10 % 3 → 나머지 → 1
- 2 ** 3 → 2 × 2 × 2 = 8
- print 는 값 사이에 빈칸을 넣어 출력: 3 1 8
틀린 선지
- ① 1 3 8: 몫과 나머지가 바뀌었습니다.
- ③ 3.3333333333333335 1 8: // 는 몫만 구하는 정수 나눗셈입니다. 소수가 나오는 것은 / 입니다.
- ④ 3 1 6: ** 는 거듭제곱입니다. 2 × 3 이 아니라 2 × 2 × 2 입니다.
문제 2. 다음 파이썬 코드의 출력 결과는? a = [1, 2, 3] a.append(4) print(len(a))
- ① 10
- ② 3
- ③ [1, 2, 3, 4]
- ④ 4
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 4
핵심: append 는 리스트 끝에 추가, len 은 개수를 센다
- a = [1, 2, 3]
- a.append(4) → 끝에 4 를 붙여 a = [1, 2, 3, 4]
- len(a) 는 원소의 개수 → 4
- 출력: 4
틀린 선지
- ① 10: len 은 원소의 합이 아니라 개수를 구합니다.
- ② 3: append(4) 로 원소가 하나 늘어났습니다.
- ③ [1, 2, 3, 4]: 리스트 자체가 아니라 길이(개수)를 출력합니다.
문제 3. 다음 파이썬 코드의 출력 결과는? s = "hello" print(s[-1])
- ① 오류
- ② l
- ③ o
- ④ h
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ o
핵심: 파이썬에서 [-1] 은 맨 마지막 원소
파이썬은 뒤에서부터 셀 때 음수 번호를 씁니다. -1 은 맨 마지막 글자입니다.
- "hello" 의 마지막 글자: o
- 출력: o
틀린 선지
- ① 오류: 파이썬은 음수 번호를 쓸 수 있어 오류가 나지 않습니다.
- ② l: s[-2] 의 값입니다.
- ④ h: s[0] 의 값입니다. -1 은 맨 뒤를 뜻합니다.