티스토리 뷰
1. 모듈이란
모듈은 같은 특성을 갖는 클래스와 메소드(함수)와 상수를 모아놓은 하나의 파일을 말한다.
2. 모듈의 호출
module_name.py 형태의 파일로 저장하며, 다른 파일에서는 아래와 같이 호출하여 쓸 수 있다.
import module_name # module_name 모듈을 호출한다.
import module_name as mn # module_name 모듈을 mn 이란 별명으로 호출한다.
from module_name import ClassName # module_name 모듈 안에 있는 ClassName이란 클래스를 호출한다.
from module_name import method_name # module_name 모둘 안의 method_name이란 메소드를 호출한다.
import module_name.ClassName # module_name 모듈 안의 ClassName 클래스를 호출한다.
3. 모듈의 제작
간단한 수학 계산을 하는 my_math.py 모듈을 만들어 봤다.
# my_math.py
pi = 3.14
def avg(*items):
"""입력 값의 평균을 구하는 메소드
list()타입의 단일 파라미터를 받으면 리스트의 평균을 구함
여러 개의 int() 타입의 파라미터를 받으면 모든 파라미터의 평균을 구함"""
if type(items[0]) == list:
return sum(items[0]) / len(items[0])
else:
return sum(items) / len(items)
def get_digit(num):
"""입력 숫자의 자리수를 구하는 메소드"""
digit = 0
if num > 0:
while num != 0:
num //= 10
digit += 1
else:
digit = -1
return digit
def radian_to_degree(rad):
"""라디언을 각도로 변형하는 메소드"""
return rad * 180 / pi
def degree_to_radian(deg):
"""각도를 라디언으로 변형하는 메소드"""
return deg * pi / 180
다음은 메인 코드이다. 다음과 같이 모듈을 사용할 수 있다.
# main.py
import my_math as mm # my_math 모듈을 mm이란 별명으로 불러온다
l = [i for i in range(5, 101, 5)] # 5 ~ 101 사이의 5의 배수를 원소로 갖는 리스트 l을 만든다
print(l) # l의 내용을 출력
print(sum(l), end=' / ') # 내장 메소드 sum()을 사용하여 l의 합을 구함
print(len(l), end=' = ') # 내장 메소드 len()을 사용하여 l의 원소의 개수를 구함
print(mm.avg(l)) # my_math 모듈의 avg() 메소드를 사용하여 리스트 l의 평균을 구함
# 리스트 l의 각 원소들과 자리수를 구함
for i in l:
print(" " * (3 - mm.get_digit(i)) + str(i) + " : " + str(mm.get_digit(i)) + "자리")
print("1 rad = " + str(mm.radian_to_degree(1))) # 1라디안이 몇도인지 구함
print("1 deg = " + str(mm.degree_to_radian(1))) # 1도가 몇 라디안인지 구함
main을 실행하면 다음과 같은 결과를 얻을 수 있습니다.
'컴퓨터공학 > 파이썬' 카테고리의 다른 글
Python 101 - 9장. 표준라이브러리 (0) | 2019.11.10 |
---|---|
Python 101 - 8장. 데이터 구조 (0) | 2019.11.03 |
Python 101 - 6장. 함수 (0) | 2019.10.20 |
Python 101 - 5장. for 문 (0) | 2019.10.13 |
Python 101 - 4장. if문, while문, break, continue (0) | 2019.10.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- sys
- 모듈
- 변수
- 네이버 인턴
- 파이선
- random
- 삼항연산자
- Break
- 핵데이
- 디폴트 파라미터
- python
- DateTime
- import
- HACKDAY
- list
- stitcher
- Machine Learning
- 튜플
- ML
- 파이썬
- Else
- Math
- 클래스
- 네이버
- continue
- ImageStitching
- 리스트
- 머신러닝
- 고급 파이썬
- 딕셔너리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함