[python] 점프 투 파이썬 공부 - 모듈

Jean Young Park·2022년 6월 29일
0

python

목록 보기
11/15

모듈 만들기

mode1.py 파일 자체가 모듈이다.

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

모듈 불러오기

import 모듈 이름

  • 모듈 안의 함수만 불러오고 싶을 때
    from 모듈 이름 import 모듈 함수
>>> from mod1 import add
>>> from mod1 import add, sub
>>> from mod1 import *

ifname=="main":의 의미

mod1.py 파일은 아래와 같다

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

def sub(a, b):
	return a-b
    
print(add(1,4))
print(sub(1,4))

아래와 같이 실행할 수 있다.

C:\doit>python mod1.py
5
2

하지만 mod1.py 파일안의 함수를 사용하기 위해 mod1 모듈을 import할 때는 모듈이 바로 실행되어 결과값을 출력한다.

C:\Users\pahkey> cd C:doit
C:\doit>python
>>> import mod1
5
2

위와 같은 상황을 방지하기 위해 파일을 다음처럼 변경할 수 있다.

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

def sub(a, b):
	return a-b
    
if __name__ == "__main__"
	print(add(1,4))
	print(sub(1,4))

이와 같이 수정하면 이 파일을 직접 실행했을 경우에만 결과값이 나온다.

  • name변수란?
    파이썬 내부적으로 사용하는 변수이다.
    직접 파일을 실행할 경우 main값이 저장되지만 모듈에서 import 할 경우에는 모듈 이름 값이 들어간다.

다른 파일에서 모듈 불러오기

모듈을 저장한 디렉터리로 이동하지 않고 모듈을 불러와서 사용하는 방법

  1. sys.path.append(모듈을 저장한 디렉터리) 사용하기

    >>>sys.path
    ['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs', 'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages']
    • sys 모듈은 파이썬을 설치할 때 함께 설치되는 라이브러리 모듈이다.
    • sys.path는 파이썬 라이브러리가 설치되어 있는 디렉터리를 보여준다. 만약 파이썬 모듈이 위 디렉터리에 있다면 어디서든 불러서 사용할 수 있다.

    sys.path에 디렉터리를 추가해 사용할 수 있다.

  2. PYTHONPATH 환경 변수 사용하기
    set 명령어를 사용해 PYTHONPATH 환경 변수에 모듈이 있는 디렉터리를 설정하면 디렉터리 이동 없이 해당 모듈을 사용할 수 있다.

C:\doit>set PYTHONPATH=C:\doit\mymod
C:\doit>python
>>> import mod2
>>> print(mod2.add(3,4))
7

0개의 댓글