반응형
Day 1: 모듈의 기본 개념
- 강의 내용:
- 모듈의 정의와 필요성
- 모듈의 개념과 장점
- 코드 재사용과 모듈화
- 모듈 임포트
- import 문을 사용한 모듈 임포트
- as 키워드를 사용한 별칭 지정
- 모듈의 정의와 필요성
- 실습:
- 기본 모듈 임포트 예제 작성
# 기본 모듈 임포트
import math
print(math.sqrt(16)) # 4.0
# 별칭을 사용한 모듈 임포트
import math as m
print(m.sqrt(16)) # 4.0
Day 2: 특정 함수 또는 클래스 임포트
- 강의 내용:
- from ... import ... 문법
- 모듈에서 특정 함수 또는 클래스 임포트
- from ... import ... as 문법을 사용한 별칭 지정
- 모듈 임포트의 장점과 단점
- from ... import ... 문법
- 실습:
- 특정 함수 또는 클래스를 임포트하는 예제 작성
# 특정 함수 임포트
from math import sqrt
print(sqrt(16)) # 4.0
# 특정 함수를 별칭으로 임포트
from math import sqrt as square_root
print(square_root(16)) # 4.0
Day 3: 사용자 정의 모듈
- 강의 내용:
- 사용자 정의 모듈의 개념
- 사용자 정의 모듈 작성 방법
- 모듈 파일 생성 및 임포트
- 모듈 경로와 PYTHONPATH
- 사용자 정의 모듈의 개념
- 실습:
- 사용자 정의 모듈 작성 및 임포트 예제
# mymodule.py 파일 생성
def greet(name):
return f"Hello, {name}!"
# 사용자 정의 모듈 임포트 및 사용
import mymodule
print(mymodule.greet("Alice")) # 'Hello, Alice!'
Day 4: 패키지의 개념
- 강의 내용:
- 패키지의 개념
- 패키지의 정의와 필요성
- 디렉토리를 패키지로 사용
- 패키지 임포트
- import ... from ... 문법을 사용한 패키지 임포트
- 패키지의 개념
- 실습:
- 패키지 작성 및 임포트 예제
# mypackage/__init__.py 파일 생성 (빈 파일)
# mypackage/mymodule.py 파일 생성
def greet(name):
return f"Hello, {name}!"
# 패키지 임포트 및 사용
from mypackage import mymodule
print(mymodule.greet("Bob")) # 'Hello, Bob!'
Day 5: 모듈의 재로딩과 dir() 함수
- 강의 내용:
- 모듈의 재로딩
- 모듈의 재로딩 개념
- importlib.reload() 함수 사용
- dir() 함수
- 모듈의 함수와 변수 목록 확인
- 모듈의 재로딩
- 실습:
- 모듈 재로딩과 dir() 함수를 사용하는 예제
import importlib
import mymodule
# 모듈 재로딩
importlib.reload(mymodule)
# dir() 함수 사용
print(dir(mymodule)) # ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'greet']
Day 6: 표준 라이브러리 모듈
- 강의 내용:
- 표준 라이브러리 모듈의 개념
- 파이썬 표준 라이브러리 소개
- 자주 사용하는 표준 라이브러리 모듈
- os, sys, datetime 모듈
- os 모듈: 운영체제 관련 기능
- sys 모듈: 파이썬 인터프리터 관련 기능
- datetime 모듈: 날짜와 시간 처리
- 표준 라이브러리 모듈의 개념
- 실습:
- os, sys, datetime 모듈을 사용하는 예제 작성
import os
import sys
import datetime
# os 모듈 사용 예제
print(os.name) # 운영체제 이름 출력
print(os.getcwd()) # 현재 작업 디렉토리 출력
# sys 모듈 사용 예제
print(sys.platform) # 현재 플랫폼 출력
print(sys.version) # 파이썬 버전 출력
# datetime 모듈 사용 예제
now = datetime.datetime.now()
print(now) # 현재 날짜와 시간 출력
print(now.strftime("%Y-%m-%d %H:%M:%S")) # 형식 지정 출력
Day 7: 모듈 종합 연습 및 프로젝트
- 강의 내용:
- 모듈 종합 연습 문제 풀이
- 다양한 모듈 관련 문제
- Q&A 세션
- 미니 프로젝트
- 주제 선정 및 프로그램 설계
- 모듈을 활용한 프로그램 구현 및 테스트
- 모듈 종합 연습 문제 풀이
- 실습:
- 종합 연습 문제 풀기
- 미니 프로젝트 작성 및 발표
# 연습 문제 1: 사용자 정의 모듈에서 두 숫자의 합을 계산하는 함수 작성
# mymodule.py
def add(a, b):
return a + b
# main.py
import mymodule
print(mymodule.add(3, 5)) # 8
# 연습 문제 2: 패키지를 사용하여 문자열 처리 모듈 작성
# string_utils/__init__.py (빈 파일)
# string_utils/string_ops.py
def reverse_string(s):
return s[::-1]
# main.py
from string_utils import string_ops
print(string_ops.reverse_string("Python")) # 'nohtyP'
# 미니 프로젝트 예제: 파일 시스템 탐색기
# filesys.py
import os
def list_files(directory):
return os.listdir(directory)
def file_info(filepath):
return {
"size": os.path.getsize(filepath),
"modified": os.path.getmtime(filepath)
}
# main.py
import filesys
directory = "."
files = filesys.list_files(directory)
print("Files:", files)
for file in files:
info = filesys.file_info(file)
print(f"File: {file}, Size: {info['size']} bytes, Modified: {info['modified']}")
이 강의는 파이썬의 모듈을 익히는 것을 목표로 하며, 각 강의는 이론과 실습을 포함합니다. 다음 주차에 대한 상세 강의를 원하시면 말씀해 주세요!
반응형
'-----ETC2----- > Python' 카테고리의 다른 글
[Python] (수정 필요)Week 17: 객체지향 프로그래밍 - 클래스와 객체 (0) | 2024.06.01 |
---|---|
[Python] Week 16: 패키지 (0) | 2024.06.01 |
[Python] Week 14: 예외 처리 (0) | 2024.06.01 |
[Python] Week 13: 파일 입출력 (0) | 2024.06.01 |
[Python] Week 12: 문자열 - 정규표현식 (0) | 2024.06.01 |