티스토리 뷰

컴퓨터공학/파이썬

Python 101 - 7장. 모듈

PhireRed2015 2019. 10. 27. 16:54

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을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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
글 보관함