본문 바로가기
정보처리산업기사

정보처리산업기사 실기 Python 문법 정리

by Hwangminseo 2026. 4. 7.

Python 문법 개념 정리

1. 파이썬 프로그램의 기본 구조

파이썬은 들여쓰기로 코드 블록을 구분한다.

예시

print("Hello")

핵심 개념

  • 세미콜론 없이도 문장 작성 가능
  • 중괄호 대신 들여쓰기 사용
  • 들여쓰기가 문법의 일부다

시험 포인트

  • 들여쓰기 오류
  • 출력문 결과

2. 변수와 자료형

파이썬은 변수 선언 시 자료형을 따로 쓰지 않는다.

예시

a = 10
b = 3.14
c = "Python"
d = True

주요 자료형

  • int : 정수
  • float : 실수
  • str : 문자열
  • bool : 참/거짓
  • list : 리스트
  • tuple : 튜플
  • dict : 딕셔너리
  • set : 집합

핵심 개념

  • 동적 타입 언어
  • 값에 따라 자료형이 결정됨

시험 포인트

  • 리스트, 튜플, 딕셔너리, 집합 구분
  • 문자열과 숫자 구분

3. 연산자

산술 연산자

  • + : 더하기
  • - : 빼기
  • * : 곱하기
  • / : 나누기
  • // : 몫
  • % : 나머지
  • ** : 거듭제곱

예시

print(7 / 2)
print(7 // 2)
print(7 % 2)
print(2 ** 3)

출력

3.5
3
1
8

핵심 개념

  • / 는 실수 나눗셈
  • // 는 몫
  • % 는 나머지

시험 포인트

  • /// 차이
  • ** 계산 결과

4. 비교 / 논리 연산자

비교 연산자

  • ==, !=, >, <, >=, <=

논리 연산자

  • and
  • or
  • not

예시

a = 10
print(a > 5 and a < 20)
print(not(a == 10))

출력

True
False

시험 포인트

  • and / or / not 결과
  • True / False 대소문자 구분

5. 조건문

예시

x = 3

if x > 0:
    print("양수")
else:
    print("음수 또는 0")

핵심 개념

  • if, elif, else 사용
  • 조건문 뒤에 : 필요
  • 들여쓰기 필수

시험 포인트

  • 조건문 실행 흐름
  • elif 포함 문제

6. 반복문

for문

for i in range(3):
    print(i)

while문

i = 0
while i < 3:
    print(i)
    i += 1

핵심 개념

  • range(3) → 0, 1, 2
  • for는 반복 대상 순회
  • while은 조건이 참인 동안 반복

시험 포인트

  • 반복 횟수
  • range 범위
  • 무한 반복 여부

7. range()

예시

print(list(range(5)))
print(list(range(1, 5)))
print(list(range(1, 10, 2)))

출력

[0, 1, 2, 3, 4]
[1, 2, 3, 4]
[1, 3, 5, 7, 9]

핵심 개념

  • range(끝)
  • range(시작, 끝)
  • range(시작, 끝, 증가값)

시험 포인트

  • 끝값은 포함되지 않음
  • 증가값 해석

8. 리스트

리스트는 순서가 있고 변경 가능한 자료형이다.

예시

a = [1, 2, 3]
a.append(4)
print(a)

출력

[1, 2, 3, 4]

핵심 개념

  • [] 사용
  • 인덱스는 0부터 시작
  • 값 추가, 수정, 삭제 가능

시험 포인트

  • append()
  • 인덱스 접근
  • 리스트 변경 결과

9. 튜플

튜플은 순서가 있지만 변경할 수 없는 자료형이다.

예시

a = (1, 2, 3)
print(a[0])

핵심 개념

  • () 사용
  • 한 번 만들면 수정 불가

시험 포인트

  • 리스트와 튜플 차이
  • 괄호 형태 구분

10. 딕셔너리

딕셔너리는 키와 값의 쌍으로 이루어진 자료형이다.

예시

a = {"name": "Kim", "age": 20}
print(a["name"])

출력

Kim

핵심 개념

  • {} 사용
  • 키:값 형태
  • 키로 값 접근

시험 포인트

  • 리스트와 딕셔너리 구분
  • 키 접근 방식

11. 집합

집합은 중복을 허용하지 않고 순서가 없는 자료형이다.

예시

a = {1, 2, 2, 3}
print(a)

핵심 개념

  • 중복 제거
  • 순서 없음
  • 합집합, 교집합 가능

시험 포인트

  • 중복 제거 결과
  • set() 변환 결과

12. 슬라이싱

리스트나 문자열 일부를 잘라낼 수 있다.

예시

a = [10, 20, 30, 40, 50]
print(a[1:4])
print(a[:3])
print(a[::2])

출력

[20, 30, 40]
[10, 20, 30]
[10, 30, 50]

핵심 개념

  • a[start:end]
  • end는 포함되지 않음
  • step도 설정 가능

시험 포인트

  • 시작, 끝, 증가값 해석
  • 문자열 슬라이싱도 동일 원리

13. 문자열

문자열은 문자들의 나열이다.

예시

s = "Python"
print(s[0])
print(s[1:4])
print(len(s))

출력

P
yth
6

핵심 개념

  • 문자열도 인덱싱과 슬라이싱 가능
  • len()으로 길이 구함

시험 포인트

  • 문자열 인덱스
  • 문자열 슬라이싱
  • 길이 계산

14. 리스트 관련 메서드

자주 나오는 것

  • append() : 맨 뒤에 추가
  • insert() : 원하는 위치에 삽입
  • remove() : 값 삭제
  • pop() : 마지막 값 꺼내기
  • sort() : 정렬
  • reverse() : 뒤집기

예시

a = [3, 1, 2]
a.sort()
print(a)

출력

[1, 2, 3]

시험 포인트

  • append와 insert 차이
  • sort 결과
  • pop 후 리스트 상태

15. 함수

함수는 특정 작업을 수행하는 코드 묶음이다.

예시

def add(a, b):
    return a + b

print(add(2, 3))

출력

5

핵심 개념

  • def로 함수 정의
  • return으로 값 반환
  • 매개변수 사용 가능

시험 포인트

  • 함수 호출 순서
  • 반환값

16. 참조와 재할당

이 부분이 시험에 매우 자주 나온다.

예시

a = [1, 2]
b = a
a.append(3)
print(b)

출력

[1, 2, 3]

핵심 개념

  • b = a 이면 같은 리스트를 가리킨다
  • 한쪽을 바꾸면 다른 쪽에도 반영될 수 있다

시험 포인트

  • 같은 객체를 공유하는지
  • 원본이 바뀌는지

17. 새 객체 생성과 재대입

예시

a = [1, 2]
b = a
a = a + [3]
print(a)
print(b)

출력

[1, 2, 3]
[1, 2]

핵심 개념

  • a = a + [3] 는 새 리스트를 만들어 다시 대입
  • 따라서 b는 원래 리스트를 그대로 가리킨다

시험 포인트

  • append()a = a + [...] 차이
  • 참조 공유와 재대입 구분

18. 집합 변환과 교집합

예시

a = [1, 2, 3]
b = [2, 3, 4]
print(set(a) & set(b))

출력

{2, 3}

핵심 개념

  • set() 으로 집합 변환
  • & 는 교집합

시험 포인트

  • 중복 제거
  • 교집합 원소 계산
  • 길이 문제로 자주 나옴

19. 문자열 비교와 리스트 비교

예시

print("abc" == "abc")
print([1, 2] == [1, 2])

출력

True
True

핵심 개념

  • 파이썬은 값 기준 비교가 잘 되는 편
  • 문자열, 리스트 비교 결과 추론 가능

시험 포인트

  • == 비교 결과
  • 대소문자 구분

20. 클래스와 객체

파이썬도 클래스와 객체를 만들 수 있다.

예시

class Person:
    def __init__(self, name):
        self.name = name

p = Person("Kim")
print(p.name)

출력

Kim

핵심 개념

  • class 로 클래스 정의
  • __init__() 는 생성자 역할
  • self는 현재 객체 자신

시험 포인트

  • self
  • 객체 생성
  • 멤버 변수 접근

21. 상속

예시

class A:
    def show(self):
        print("A")

class B(A):
    def show(self):
        print("B")

obj = B()
obj.show()

출력

B

핵심 개념

  • 자식 클래스가 부모 클래스를 상속 가능
  • 메서드 재정의 가능

시험 포인트

  • 오버라이딩 결과
  • 상속 관계 해석

22. 람다식 기초

간단한 함수를 한 줄로 표현할 수 있다.

예시

f = lambda x: x * 2
print(f(3))

출력

6

핵심 개념

  • lambda 매개변수: 식
  • 간단한 함수 표현

시험 포인트

  • 람다식 결과 해석

23. 예외 처리

예시

try:
    print(10 / 0)
except:
    print("error")
finally:
    print("end")

출력

error
end

핵심 개념

  • try : 예외 발생 가능 코드
  • except : 예외 처리
  • finally : 예외 여부와 관계없이 실행

시험 포인트

  • 실행 순서
  • finally 동작

24. 입력과 출력

예시

name = input()
print(name)

핵심 개념

  • input() 은 문자열로 입력받는다
  • 숫자로 쓰려면 형 변환 필요

예시

a = int(input())
print(a + 1)

시험 포인트

  • input() 결과는 문자열
  • int(), float() 형 변환