ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [python] 모듈, 패키지
    파이썬 2023. 8. 26. 21:14

    모듈

    • 함수나 변수 또는 클래스를 모아 놓은 파이썬 파일이다.
    • import는 현재 디렉터리에 있는 파일이나, 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈(파이썬 설치할 때 자동으로 설치되는 모듈)만 불러올 수 있다.
    • sys모듈은 파이썬을 설치할때 함께 설치되는 라이브러리 모듈이다. sys.path 에는 파이썬 라이브러리가 설치되어 있는 디렉터리 목록이 있는데, 이 디렉터리안에 저장된 파이썬 모듈은 현재 디렉터리에 있지 않더라도 바로 사용이 가능하다. 즉 sys.path에 추가하면 디렉터리 이동없이 바로 모듈 사용이 가능하다.
    • PYTHONPATH 환경변수에 내가 사용하고자하는 모듈 파일이 있는 디렉터리를 설정하면 디렉터리 이동없이 모듈사용이 가능하다.

     

    모듈 만들기

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

    모듈 사용하기

    main.py

    모듈 이름 붙여서 사용해야함

    import mod1
    
    print(mod1.add(3,4))

    모듈 이름 붙이지 않고 바로 함수 쓸 수 있음

    from mod1 import add
    
    print(add(3,4))
    from mod1 import add,sub
    
    print(add(3,4))

    mod1의 모든 함수 불러오기

    from mod1 import *
    
    print(add(3,4))

     

     

    if __name__ == "__main__"

    직접 해당 파일에서 사용할 경우 참이되어 if 문 다음 문장이 수행되고, 다른 파일에서 해당 모듈을 불러서 사용할때는 거짓이 되어 if문 다음이 수행되지 않는다.

     

    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(4,2))

    출력

    5

     

    main.py
    from mod1 import *
    
    print(add(3,4))

     

    모듈은 아래처럼 클래스나 변수등을 포함할 수도 있다.

    mod2.py
    PI = 3.141592
    
    class Math:
        def solv(self,r):
            return PI*(r**2)
    
    def add(a,b):
        return a+b
    main.py
    import mod2
    
    print(mod2.PI)
    
    a = mod2.Math()
    print(a.solv(2))
    
    print(mod2.add(mod2.PI,4.4))

     

     

     


     

    패키지

    패키지는 관련있는 모듈들의 집합이다. 

    패키지는 디렉터리와 파이썬 모듈로 이루어진다.

    __init__.py 는 해당 디렉터리가 패키지의 일부임을 알려주는 역할을 한다. 또한 패키지 관련 설정이나 초기화 코드를 포함하여 활용한다.

    '파이썬' 카테고리의 다른 글

    [python] list, tuple, dict, set 총 정리  (0) 2024.01.16
    [python] 클래스  (0) 2023.08.26
    [python] 입출력  (0) 2023.08.21
    [python] 함수  (0) 2023.08.21
    [python] 제어문  (0) 2023.08.20

    댓글

lee-ding