이롭게 현명하게

[Python] 파이썬 모듈 본문

Python

[Python] 파이썬 모듈

dev_y.h 2023. 3. 31. 18:13
728x90
반응형

※ 본 포스팅은 윈도우 11, Pycharm, Python3 환경에서 작성되었습니다.

 


 

목차

모듈이란

모듈 만들기

모듈 불러오기

if __name__ == "__main__"

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

sys.path.append 사용하기

PYTHONPATH 환경변수 사용하기

 

 


<정리>

모듈 : 함수나 변수 또는 클래스를 모아놓은 파일

import 모듈이름

from 모듈이름 import 모듈함수

from 모듈이름 import *

 


[모듈이란]

모듈 : 함수나 변수 또는 클래스를 모아놓은 파일

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

다른 사람들이 이미 만들어 놓은 모듈을 사용할 수 있고 직접 만들어서 사용할 수도 있다.


[모듈 만들기]

mod1.py 파일 안에 add함수와 sub 함수가 있다.

이 mod1.py파일이 바로 모듈이다.

파이썬 확장자. py로 만든 파이썬 파일은 모두 모듈이다.
# mod1.py #

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

 

 

 


[모듈 불러오기]

import 모듈이름

mod1.py 모듈을 사용하기 위해서는 

import mod1이라고 입력해주어야 한다.

이때. py 확장자를 제거한 파일이름만 입력한다.

import는 이미 만들어 놓은 파이썬 모듈을 사용할 수 있게 해주는 명령어이다.

mod1.py에 있는 add 함수를 사용하기 위해서는 mod1.add처럼 모듈 이름 뒤에 "."(도트 연산자)를 붙이고 함수이름을 사용한다.

import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.
파이썬 라이브러리는 파이썬을 설치할 때 자동으로 설치되는 파이선 모듈을 말한다.

 

from 모듈이름 import 모듈함수

모듈 이름 없이 함수이름만 사용할 때 from 모듈이름 import 모듈함수를 작성하면 모듈이름을 붙이지 않고 바로 해당 모듈의 함수를 쓸 수 있다.

from 모듈이름 import *

* : "모든 것"이라는 의미로 모듈의 모든 함수를 불러와 사용하겠다는 뜻이다.


[if __name__ == "__main__"]

C나 JAVA를 공부하다 파이썬을 공부하면 다른 점이 있다.

파이썬에서는 main 함수를 볼 수 없다.

만약 파이썬에서 main 함수를 사용하길 원한다면 파이썬이 내부적으로 사용하는 특별 변수인 __name__을 사용하면 된다.

if __name__ == "__main__"

 


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

mod2.py파일을 다른 파이썬 파일(modtest.py)에 불러와 사용하는 것이다.

# mod2.py #
PI = 3.141592

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

def add(a,b):
    return a+b
# modtest.py #
import mod2
result = mod2.add(3,4)
print(result)

import mod2로 mod2.py 모듈을 불러와서 사용할 수 있다.


[sys.path.append 사용하기]

C:\doit>python
>>> import sys

sys 모듈 : 파이썬을 설치할 때 함께 설치되는 라이브러리모듈

sys.path : 파이썬 라이브러리가 설치되어 있는 디렉터리를 보여준다.

>>> sys.path
['', 'C:\\Windows\\SYSTEM32\\python311.zip', 'c:\\Python311\\DLLs', 
'c:\\Python311\\lib', 'c:\\Python311', 'c:\\Python311\\lib\\site-packages']

모듈이 디렉터리에 들어있다면 모듈이 저장된 디렉터리로 이동할 필요 없이 바로 불러 사용할 수 있다.

 

sys.path.append()를 사용하여 디렉터리를  sys.path에 추가했다.

다시 sys.path를 출력하면 추가된 디렉터리를 볼 수 있다.

>>> sys.path.append("C:/doit/mymod")
>>> sys.path
['', 'C:\\Windows\\SYSTEM32\\python311.zip', 'c:\\Python311\\DLLs', 
'c:\\Python311\\lib', 'c:\\Python311', 'c:\\Python311\\lib\\site-packages', 
'C:/doit/mymod']
>>>

[PYTHONPATH 환경변수 사용하기]

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

set 명령어를 사용해 PYTHONPATH 환경변수에 mod2.py파일이 있는 디렉터리를 설정한다.

디렉터리 이동이나 별도의 모듈 추가 작업 없이 mod2 모듈을 불러와서 사용할 수 있다.

 

 

 

[Python] 파이썬 패키지

패키지(Packages) : 도트(.)를 가지고 사용하여 파이썬 모듈을 계층적(디렉터리구조)으로 관리할 수 있게 해 준다. 모듈 A.B A : 패키지 명 B : A 패키지의 B모듈 가상 game 패키지 예시 game/ __init__. py sound

devyihyun.tistory.com


잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊

댓글과 좋아요는 큰 힘이 됩니다!

 

 

728x90
반응형

'Python' 카테고리의 다른 글

[Python] 파이썬 예외처리  (0) 2023.04.04
[Python] 파이썬 패키지  (0) 2023.04.03
[Python] 파이썬 클래스  (0) 2023.03.30
[Python] 프로그램 입출력 / sys모듈  (0) 2023.03.29
[Python] 파이썬 함수 매개변수  (0) 2023.03.28
Comments