본문 바로가기

프로그래밍언어/Python

ch05. 파이썬 날개달기 (모듈)

반응형

2. 모듈

 

  ■ 모듈

    - 모듈이란 변수 또는 클래스를 모아놓은 파일이다.

    - 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일이다.

 

  ■ 모듈 만들기

    - 모듈 생성

# mod1.py
def add(a, b):
    return a + b

def sub(a, b): 
    return a-b

    - mod1이라는 모듈에 add와 sub라는 함수를 생성했다.

 

    ※ .py 확장자를 가지는 파이썬 파일들은 모두 파이썬 모듈이다.

 

  

■ 모듈 불러오기

    - 모듈을 불러올 때는 해당 모듈이 위치하는 곳에서 import를 사용해서 불러올 수 있다.

# mod1 모듈 사용예제
# import {모듈이름}
import mod1

print(mod1.add(3, 4))	# 7
print(mod1.sub(4, 2))	# 2

    - import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.

    - 파이썬 라이브러리는 파이썬을 설치할 때 자동으로 설치되는 파이썬 모듈을 말한다.

 

    - from을 사용해서 모듈 전체가 아니라 모듈 내부에 있는 함수들만 불러올 수도 있다.

# mod1 모듈에서 add와 sub함수를 불러온다.
from mod1 import add, sub
print(3, 4)	# 7

 

    - *을 사용해서 해당 모듈의 모든 함수를 불러올 수 있다.

# mod1 모듈의 모든 함수를 불러오기.
from mod1 import *

 

  ■ if __name__ == "__main__"

    - __name__

      • 파이썬 내부적으로 사용하는 특별한 변수 이름이다.

      • mod1.py 파일을 실행할 경우, mod1.py의 __name__ 변수에는 __main__ 값이 저장된다.

      • 파이썬 셀이나 다른 모듈에서 mod1을 import 할 경우에는 mod1.py의 __name__ 변수는 mod1.py의 모듈 이름 값 mod1이 저장된다.

    - if __name__ == "__main__" 조건문은 해당 모듈을 import가 아닌 직접 실행하는 경우에만 실행할 라인들을 표현하기 위해 사용한다.

 

  ■ 클래스나 변수 등을 포함한 모듈

    - mod2.py 모듈 생성

# mod2.py 
PI = 3.141592

class Math: 
    def solv(self, r): 
        return PI * (r ** 2) 

def add(a, b): 
    return a+b 

 

  - 앞의 함수와 같이 import를 통해서 모듈을 불러와서 클래스나 변수를 사용할 수 있다.

import mod2
print(mod2.PI)		# 3.141592

a = mod2.Math()
print(a.solv(2))	# 12.566368

print(mod2.add(mod2.PI, 4.4))	# 7.541592

 

※ sys.path에 모듈의 위치를 append하거나 PYTHONPATH에 모듈의 위치를 저장하면 해당 파일위치로 이동하지 않아도 모듈을 불러올 수 있다.

 

 

반응형