손을 흔들며 반갑게 웃는 파이인공지능 파이썬 실무

TEACHER / UNIT 01

Ⅰ. 모듈과 패키지 활용 · 수업 요약

교과서 6–39쪽 · 도식 → 시연 → 학생 실험 → 설명 확인

교사 대문학생 실습실 →

50분 수업 운영 제안

단계시간교사 확인
도입·결과 예상5분정답 전에 입력·출력 예상 받기
구조 설명·시연10분도식과 코드의 각 부분 연결
학생 코드 변형25분정상·경계·오류 조건 확인
설명·저널10분결과 이유와 수정 근거 확인

평가 연결

항목관찰할 증거배점/연결
연결 수행1·2단원 기능 모듈과 GUI를 함께 확인수행①과 연결
교과서 대조·지도 유의사항

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 01. 모듈, 패키지의 개요 · 8–13쪽
소단원 01. 모듈의 개념 및 필요성 · 9–10쪽

중단원 01. 모듈, 패키지의 개요 · 8–13쪽
소단원 02. 패키지의 개념 및 필요성 · 11–12쪽

이 웹 주제의 연계 범위: 8–13쪽

웹 학습 주제 01

모듈과 패키지가 필요한 이유

복사해 둔 함수가 열 군데 있다면, 오류 하나를 어디에서 고쳐야 할까요?

AT A GLANCE

파일과 폴더로 보는 재사용

main.pycalculator.add(3,5)
calculator.pyadd 함수를 한 곳에서 정의
other_app.pycalculator.add(10,2)
구조비유
모듈기능 상자calculator.py
패키지상자를 묶은 서랍nature/animals/
라이브러리재사용 도구 모음표준 라이브러리
이 개념 실습으로 →
시연·발문·확인

발문: 복사해 둔 함수가 열 군데 있다면, 오류 하나를 어디에서 고쳐야 할까요?

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 모듈과 패키지를 파일과 폴더에 대응하여 설명하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 01. 모듈 정의하기 · 15–18쪽

이 웹 주제의 연계 범위: 15–16쪽

웹 학습 주제 02

실행문·함수·클래스로 모듈 정의하기

import 한 줄인데 왜 두 번 출력될까요?

AT A GLANCE

정의와 호출의 실행 시점

  1. 1import파일의 최상위 실행
  2. 2def / class이름과 기능 정의
  3. 3함수 호출본문 실행
코드 위치임포트할 때호출할 때
최상위 print출력자동 반복 안 함
def 안의 print정의만 준비출력
class 안 메서드메서드 정의메서드 본문 실행
이 개념 실습으로 →
시연·발문·확인

발문: import 한 줄인데 왜 두 번 출력될까요?

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 실행 전에 출력되는 줄 수와 순서를 예상하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 01. 모듈 정의하기 · 15–18쪽

이 웹 주제의 연계 범위: 17–18쪽

웹 학습 주제 03

__name__과 __main__

실행 파일 선택을 바꾸어 같은 모듈의 두 역할을 관찰하세요.

AT A GLANCE

같은 파일, 두 가지 역할

  1. 1직접 실행__name__ = "__main__"
  2. 2조건 비교이름이 __main__인가?
  3. 3참이면시험용 코드 실행
실행 방법__name__main 가드
python circle.py__main__실행
import circlecircle건너뜀
최상위 실행문두 경우 모두가드 밖이면 실행
이 개념 실습으로 →
시연·발문·확인

발문: 실행 파일 선택을 바꾸어 같은 모듈의 두 역할을 관찰하세요.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: rectEx1의 조건문을 제거했을 때와 있을 때의 출력을 비교하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 02. 모듈과 패키지 사용하기 · 19–25쪽

이 웹 주제의 연계 범위: 19–21쪽

웹 학습 주제 04

임포트 문과 호출법 연결하기

불러온 이름이 무엇인지 알면 호출법도 결정됩니다.

AT A GLANCE

불러온 이름이 호출법을 결정해요

  1. 1greet.pyhello 정의
  2. 2임포트 문현재 이름 연결
  3. 3현재 코드연결한 이름으로 호출
임포트연결된 이름호출
import greetgreetgreet.hello()
import greet as ggg.hello()
from greet import hellohellohello()
from greet import hello as hhh()
이 개념 실습으로 →
시연·발문·확인

발문: 불러온 이름이 무엇인지 알면 호출법도 결정됩니다.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 같은 hello 함수를 네 가지 방식으로 호출하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 02. 모듈과 패키지 사용하기 · 19–25쪽

이 웹 주제의 연계 범위: 21–25, 35쪽

웹 학습 주제 05

패키지 구조와 __all__

폴더 트리의 점(.)은 어떤 경로를 가리킬까요?

AT A GLANCE

폴더 경로와 점 경로 연결

  1. 1nature/패키지
  2. 2animals/하위 패키지
  3. 3bird.py모듈
  4. 4wild()함수
표현대상호출 예
nature.animals.bird모듈 경로nature.animals.bird.wild()
from nature.animals import birdbird 모듈bird.wild()
__all__ = ["bird"]별표 임포트 이름명시적 임포트는 별개
이 개념 실습으로 →
시연·발문·확인

발문: 폴더 트리의 점(.)은 어떤 경로를 가리킬까요?

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: __all__에 flower를 추가하고 달라진 결과를 확인하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 03. 여러 가지 모듈 활용하기 · 26–33쪽

이 웹 주제의 연계 범위: 26–28쪽

웹 학습 주제 06

os와 sys로 실행 환경 살펴보기

파일을 찾는 위치와 프로그램에 전달되는 값을 확인하세요.

AT A GLANCE

환경과 실행 인자를 구별해요

  1. 1터미널python main.py A B
  2. 2sys.argv[파일명, A, B]
  3. 3os.getcwd()파일을 찾는 기준 위치
도구알아내는 것주의
os.getcwd()현재 작업 폴더소스 파일 폴더와 다를 수 있음
os.listdir()폴더 안 이름웹에서는 가상 파일
sys.argv실행 인자모든 인자는 문자열
sys.exit()실행 종료아래 코드는 실행 안 됨
이 개념 실습으로 →
시연·발문·확인

발문: 파일을 찾는 위치와 프로그램에 전달되는 값을 확인하세요.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 실행 인자를 0개·1개·2개로 바꿔 보세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 03. 여러 가지 모듈 활용하기 · 26–33쪽

이 웹 주제의 연계 범위: 29쪽

웹 학습 주제 07

math · 계산을 함수로 표현하기

함수 이름을 외우기 전에 어떤 계산이 필요한지 판단하세요.

AT A GLANCE

음수에서도 올림과 내림은 방향으로

  1. 1−4floor(−3.5)
  2. 2−3.5원래 값
  3. 3−3ceil(−3.5)
함수역할
floor작거나 같은 최대 정수floor(-3.5) → -4
ceil크거나 같은 최소 정수ceil(-3.5) → -3
sqrt제곱근sqrt(81) → 9.0
gcd / factorial최대공약수 / 팩토리얼gcd(12,18) → 6
이 개념 실습으로 →
시연·발문·확인

발문: 함수 이름을 외우기 전에 어떤 계산이 필요한지 판단하세요.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 3.5 대신 -3.5를 사용해 올림과 내림을 설명하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 03. 여러 가지 모듈 활용하기 · 26–33쪽

이 웹 주제의 연계 범위: 30–31, 33, 37쪽

웹 학습 주제 08

random · 결과보다 조건 확인하기

매번 결과가 달라도 올바른 프로그램인지 판단할 수 있습니다.

AT A GLANCE

난수 도구는 결과의 조건으로 골라요

  1. 1숫자 하나?randint / randrange
  2. 2항목 하나?choice
  3. 3여러 항목?sample
  4. 4순서 변경?shuffle
함수포함 범위 / 변화반환
randint(1,6)1과 6 포함정수
randrange(1,6)6 제외정수
sample(L,2)위치 중복 없이 추출새 리스트
shuffle(L)원본 순서 변경None
이 개념 실습으로 →
시연·발문·확인

발문: 매번 결과가 달라도 올바른 프로그램인지 판단할 수 있습니다.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 중복 없는 명단에서 2명을 뽑고 원본이 유지되는지 확인하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 03. 여러 가지 모듈 활용하기 · 26–33쪽

이 웹 주제의 연계 범위: 31–33, 38쪽

웹 학습 주제 09

datetime · 날짜를 계산하는 프로그램

날짜를 문자열로 빼지 않고 날짜 객체로 계산합니다.

AT A GLANCE

문자열에서 날짜 계산까지

  1. 1"2026-12-25"문자열
  2. 2date.fromisoformat날짜로 변환
  3. 3날짜 − 날짜timedelta
  4. 4days일수 꺼내기
도구결과주의
date.today()오늘 날짜실행 날짜에 따라 다름
weekday()월 0 … 일 6요일 이름은 따로 대응
strftime()표시용 문자열계산은 날짜 상태에서
timedelta(days=1)하루 간격월말·윤년 자동 처리
이 개념 실습으로 →
시연·발문·확인

발문: 날짜를 문자열로 빼지 않고 날짜 객체로 계산합니다.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 2026-12-24, 2026-12-25, 2026-12-26을 기준으로 각각 시험하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 03. 여러 가지 모듈 활용하기 · 26–33쪽

이 웹 주제의 연계 범위: 32–33쪽

웹 학습 주제 10

PyPI와 서드파티 패키지

필요한 기능을 찾고, 설치 이름과 임포트 이름을 확인하세요.

AT A GLANCE

설치 이름과 임포트 이름은 다를 수 있어요

  1. 1가상환경 선택
  2. 2python -m pip install 패키지
  3. 3같은 Python으로 import
  4. 4짧은 예제로 동작 확인
설치임포트용도
numpynumpy수치 배열
pillowPIL이미지 처리
beautifulsoup4bs4HTML 분석
scikit-learnsklearn머신러닝
이 개념 실습으로 →
시연·발문·확인

발문: 필요한 기능을 찾고, 설치 이름과 임포트 이름을 확인하세요.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 이미지 크기 변경·게임·웹페이지에서 제목 추출에 맞는 패키지를 고르세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

마무리·종합 평가 연계

이 웹 주제의 연계 범위: 13, 34–39쪽

웹 학습 주제 11

단원 마무리와 종합 평가

정답을 본 뒤에는 숫자와 조건을 바꾸어 다시 풀어 보세요.

AT A GLANCE

한 단원, 세 가지 확인

  1. 1설명하기개념을 내 말로
  2. 2예상하기실행 전 결과 추적
  3. 3바꾸기조건 변경 후 검증
점검질문
개념왜 이 도구를 선택했나요?
코드입력과 출력은 무엇인가요?
검증조건을 바꾸어도 동작하나요?
이 개념 실습으로 →
시연·발문·확인

발문: 정답을 본 뒤에는 숫자와 조건을 바꾸어 다시 풀어 보세요.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 힌트 없이 두 파일을 만들고 import하여 호출하세요.

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

추가 실습 · 교과서 밖 확장

이 웹 주제의 연계 범위: 보강 · 수행평가 연결

웹 학습 주제 12

1단원 프로젝트 · 우리 반 기능 패키지

GUI 없이도 시험할 수 있는 기능부터 만듭니다.

AT A GLANCE

기능에서 완성 앱까지

  1. 1요구 기능 정하기
  2. 2기능 모듈 구현
  3. 3입력과 오류 시험
  4. 4화면 연결·기록
산출물확인할 내용
기능 코드GUI 없이도 시험 가능
실행 결과정상·빈 값·경계값 비교
학습 기록오류 원인과 수정 근거
이 개념 실습으로 →
시연·발문·확인

발문: GUI 없이도 시험할 수 있는 기능부터 만듭니다.

시연: 연결 예제를 실행하기 전에 결과를 예상하게 하고 입력·조건 하나를 바꿔 비교합니다.

확인: 파일 트리와 각 파일의 역할을 제출 설명에 적으세요.