Python 101 - 7장. 모듈

hyukim·2020년 5월 27일
0

Python 101

목록 보기
7/10
post-thumbnail

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

profile
💪 🥩 🍺 ✈ 💻

0개의 댓글