[Python] 모듈, 패키지, 라이브러리 구분하기

    모듈 (module)

    모듈이란?

    프로그래밍을 할 때 한 줄씩 작성한 명령어들을 코드라고 하는데요. 코드의 길이가 길어지는 상황이 자주 발생해요.
    이 때 모든 함수와 변수를 구현하는 것은 거의 불가능해요. 그래서 누군가 미리 만들어 놓은 함수와 변수를 활용해야하죠.
    이렇게 특정한 목적을 위해 미리 만든 함수와 변수의 모임을 모듈이라고 해요.
    파이썬은 활용할 수 있는 모듈이 많아서 논리적으로 구성하는 것만으로 쉽게 프로그래밍을 할 수 있어요.

    모듈 사용하기

    모듈 불러오기

    모듈을 사용하려면 먼저 불어와야 해요.
    import 라는 키워드를 사용하면 돼요.

    # 모듈 불러오기
    import module_name

    모듈 이해하기

    불러온 모듈을 사용하려면 특성을 이해하고 있어야 해요.
    모듈은 함수와 변수의 모임이기 때문에 어떤 것들이 들어있는지를 미리 확인해둬야 해요.
    * 함수는 일반적으로 입력으로 원하는 출력을 만드는데 필요한 명령문들의 묶음이에요.

    예시를 통해 알아보죠.
    random.randrange(start, stop[, step])
    	Return a randomly selected element form range(start, stop, step).​

     

    위 설명은 random 이라는 모듈에 있는 여러 함수 중 randrange 라는 함수에 대한 설명입니다.
    randrange(start, stop[, step]) 를 통해 필요한 매개변수를 알 수 있어요. (필수: start, stop / 옵션: step)
    조건에 맞게 함수를 사용하면 range() 의 결과로 나온 요소들 중 random 한 return 을 받을 수 있겠네요.

    모듈 사용하기

    모듈을 사용하려면 "module_name.function_name(x,y)" 의 형식을 따라야해요.
    이렇게 "." 을 사용하는 방법을 점표기법(Dot notation)이라고 해요.

    예시를 볼게요.
    # 예시
    import random
    
    # 0 이상 5 미만의 수 중 임의로 출력해라.
    print(random.randrange(0,5))​

     

    모듈 만들기

    만약 원하는 기능의 모듈이 없다면 어떻게 할까요?
    원하는 내용의 모듈을 만들 수 있어요! (".py(파이썬파일)" 의 확장자로 만들면 됩니다.)

    실제로 모듈을 만들어봐요.
    "kay_module" 이라는 이름의 모듈을 만들기로 해요.
    # module name
    import kay_module​

    모듈의 이름은 .py 파일의 파일명이라고 생각하면 돼요.
    즉, kay_module.py 라는 파일을 만들면 되는거죠.

    다음은 모듈에는 실제 기능인 함수와 변수가 필요하겠죠.
    이는 함수를 선언하는 것과 동일하게 구성해주면 됩니다.
    아래 예시를 보죠.
    kay_module 안에 plus 와 multiple 이라는 함수를 정의했습니다.
    이로써 kay_module 은 더하기와 곱하기를 할 때 사용할 함수가 정의된 모듈이 되는 거죠.
    # kay_module.py
    
    def plus(a, b):
    	c = a + b
        return c​
        
    def mutiple(a, b):
    	c = a * b
        return c​

     

    모듈을 사용하는 방법은 위에서 봤죠?
    아래 예시를 통해 다시 확인해보기로 해요.
    # main.py
    
    import kay_module
    
    print(kay_module.plus(3,4)) # 7
    print(kay_module.mutiple(3,4)) # 12​

     


    패키지 (pakage)

    패키지란?

    패키지는 모듈을 폴더(Directory) 로 분류해서 관리하는 것을 의미해요.
    모듈을 종류별로 구분해서 보다 편리하게 관리하기 위해 사용해요.
    대표적인 패키지는 데이터 사이언스의 Pandas Numpy, 딥러닝의 Tensorflow, 엑셀의 Openpyxl 등이 있어요.

    패키지와 라이브러리
    패키지와 라이브러리는 혼동하기 쉬운 개념이기 때문에 짚고 넘어갈게요.
    - 패키지: 모듈을 관리하는 폴더
    - 라이브러리: 패키지를 저장해두는 곳

    패키지 사용하기

    방법1 - import

    import 를 이용해 특정 패키지(폴더)의 모듈을 불러온 후 그 안의 함수를 사용하는 방법입니다.
    예를 들어 pakage 라는 패키지 안의 kay_module 이라는 모듈을 불러오려면 아래처럼 하면 됩니다.

    import pakage.kay_module
    
    print(kay_module.plus(3,4))

    방법2 - import ~ from

    이번에는 특정 모듈안의 함수를 직접 불러오는 방법입니다.
    이 방법을 사용하면 함수를 사용할 때 Dot notation 을 사용하지 않아도 돼요.
    * 단, main.py 의 함수와 특정 모듈의 함수명이 동일한 경우에는 사용을 주의해야 합니다.

    예시를 보죠.

    from pakage.kay_module import plus
    
    print(plus(3,4))

    여기까지 "Python의 모듈과 패키지"에 대해 알아봤어요.
    글이 도움이 되셨다면 공감 버튼 눌러주세요. 😊

    댓글

    Designed by JB FACTORY