본문 바로가기
Python/python 기초

Python 기초: 모듈(module)

by 철이88 2022. 11. 8.
반응형

모듈은 변수, 함수, 메소드 등을 포함하는 파일을 의미하며 확장자 .py를 갖습니다. 이번 포스팅은 모듈을 불러들여 사용하는 법을 알아보겠습니다.

1. 모듈 불러오기: import


모듈을 불러오는 법은 다음과 같이 간단합니다.
Import 모듈 이름 (as 지정하려는 이름)

import matplotlib.pyplot as plt
import numpy as np

일단 모듈 파일이 같은 디렉토리에 있으면 불러올 수 있습니다.
만약 모듈 파일이 다른 디렉토리에 있으면 경로를 추가하면 사용할 수 있습니다.
방법은 아래와 같습니다.

import sys
sys.path.append('경로이름')

 

2. 모듈의 일부만 불러오기: from


from을 이용하면 모듈의 일부만 불러올 수 있습니다.
다음은 math 모듈에서 sqrt(제곱근)만 불러온 예입니다.

from math import sqrt
print(sqrt(2))

 

3. if __name__ == '__main__':


모듈은 사실 하나의 독립적인 코드일 수 있습니다.
어떤 경우는 모듈의 특정 함수를 사용하려 했는데, 원하지 않는 명령이 실행될 수도 있습니다.

다음 예를 보겠습니다.
먼저 다음 모듈을 만들겠습니다.

def summ(final):
    num = 1; sum = 0
    while num <= final:
        sum += num
        num += 1
    return sum

fin = int(input('Give me an integer:'))
print('The sum of 1, 2, ..., {} is: {}'.format(fin, summ(fin)))

이 모듈은 1부터 마지막 정수까지 더하는 함수를 선언하고, 
메인 코드 블록에서 사용자에게 정수를 입력받아, 
함수를 이용, 반환된 결과를 출력합니다.

다른 코드에서 위 모듈의 summ함수를 사용하는 방법은 다음과 같습니다.

import summ
print(summ.summ(9))

여기서 문제는 모듈을 불러올 때, 원치 않은 사용자 정수 입력이 실행되는 것입니다.

만약 모듈로 쓰일 때, 메인 파트가 실행되는 것을 원하지 않으면,
메인 파트를 
if __name__ == '__main__':
조건문 아래에 작성하면 됩니다.

아래 예를 참조하시기 바랍니다.

def summ(final):
    num = 1; sum = 0
    while num <= final:
        sum += num
        num += 1
    return sum

if __name__ == '__main__':
    fin = int(input('Give me a #:'))
    print('The sum of 1, 2, ..., {} is: {}'.format(fin, summ(fin)))

 

이제 python의 기초적인 내용은 다 배웠습니다.

좀 더 깊이 있게 수학 문제와 딥러닝(deep learning)을 공부하시려면 저의 블로그의 내용들을 참고하시길 바래요.

반응형

댓글