1) 학습 요약표
학습내용 | 설명 |
모듈 개념 | 복잡한 코드를 기능별로 나누어 파일 단위로 관리하며, 다른 파일에서 가져다 쓸 수 있게 함 |
모듈 사용방법 | import, from-import 문법을 통해 다른 파일의 함수나 변수를 현재 파일에서 사용 |
자체 모듈 작성 | 자주 사용하는 함수들을 별도 파일에 정의해 재사용성을 높임 |
주요 내장 모듈 | random(무작위), os(파일 시스템), datetime(날짜/시간), subprocess(외부 명령 실행) 등 |
from-import-* | 모듈 전체를 불러올 때 사용하며, 이름 없이 직접 함수 호출 가능 |
2) 이론 설명
1. 모듈(module)이란?
- 모듈이란 관련된 함수나 변수를 하나의 .py 파일로 저장해 놓은 것을 말합니다.
- 모듈을 사용하면 코드의 재사용성을 높이고, 유지보수가 쉬워집니다.
- 예: math, os, random, subprocess, datetime 등이 자주 쓰이는 표준 모듈입니다.
2. 모듈 사용 방법
import 방식
- 모듈 전체를 불러오고, 모듈명.함수명() 형태로 사용합니다.
import random
print(random.randint(1, 100))
from-import 방식
- 모듈 안의 특정 함수나 객체만 선택적으로 불러옵니다.
from random import randint
print(randint(1, 100))
from-import * 방식
- 해당 모듈의 모든 함수나 변수를 현재 파일로 불러옵니다.
from random import *
print(choice(['a', 'b', 'c']))
예제: random 모듈 사용
import random
device_list = ["Core-R1", "Edge-SW2", "Firewall-A"]
selected = random.choice(device_list)
print(f"선택된 장비: {selected}")
3. 자체 모듈 만들기
- 자주 사용하는 함수를 별도의 파일로 분리해 관리할 수 있습니다.
- 예를 들어 calculator.py라는 파일에 여러 함수 정의:
calculator.py
def merge_ip(ip, mask):
return f"{ip} / {mask}"
def uppercase_hostname(name):
return name.upper()
main.py (사용 예시)
import calculator
print(calculator.merge_ip("10.0.0.1", "255.255.255.0"))
print(calculator.uppercase_hostname("access-sw1"))
4. from-import 방식으로 함수만 불러오기
my_module.py
def device_location(loc):
return f"위치: {loc}"
def device_id(id_num):
return f"DEVICE-{id_num}"
main.py (사용 예시)
from my_module import device_location, device_id
print(device_location("RACK-19"))
print(device_id("ZZ8899"))
3) 종합 실습 과제
과제 1: 장비 정보 문자열 생성 모듈 작성
문제 설명
- 자주 사용하는 장비 정보 출력 형식을 함수로 구성해 모듈로 저장하세요.
- device_utils.py라는 파일을 만들고 다음의 두 함수를 작성합니다:
- format_device_name(name, role) : 장비 이름과 역할을 조합해 "[ROLE] NAME" 형식 문자열로 반환
- generate_serial(sn) : 시리얼 번호 앞에 "SN-"을 붙여 반환
- 메인 파일에서는 사용자로부터 이름, 역할, 시리얼 번호를 입력받아 이 모듈의 함수를 통해 출력합니다.
과제 2: 랜덤 장비 선택기 만들기
문제 설명
- random 모듈을 활용하여 네트워크 장비 목록에서 무작위로 하나를 선택하는 프로그램을 작성하세요.
- 장비 목록은 리스트로 구성되며, random.choice() 함수를 사용하여 하나를 무작위로 출력합니다.
- 이 기능은 점검 대상 장비를 자동으로 선정하거나 샘플 테스트용 장비를 무작위로 고를 때 유용하게 활용됩니다.
과제 3: IP 병합 모듈 호출
문제 설명
- ip_merge.py라는 모듈을 만들어 merge_ip(ip, mask) 함수를 작성합니다.
- 이 함수는 IP 주소와 서브넷 마스크를 입력받아 IP / MASK 형식으로 결합한 문자열을 반환합니다.
- 메인 파일에서는 사용자로부터 IP 주소와 마스크를 입력받아 해당 함수를 통해 결과를 출력합니다.
'파이썬 > 기초 학습' 카테고리의 다른 글
Day 10: 예외 처리 추가 학습 (3) | 2025.08.05 |
---|---|
Day 8: 파일 입출력 (File I/O) 추가학습 (1) | 2025.08.03 |
Day 7: 함수 추가학습 (2) | 2025.08.02 |
Day 6: 조건문 & 반복문 추가학습 (2) | 2025.08.01 |
Day 5: 반복문(while,for) 추가 학습 (3) | 2025.07.30 |