웹사이트 검색

파이썬에서 더 적은 코드로 더 많은 작업을 수행하기 위해 라이브러리를 사용하는 방법


다른 프로그래밍 언어와 마찬가지로, 파이썬은 코딩 작업을 쉽게 해주는 라이브러리를 갖추고 있습니다. 여기서 이러한 라이브러리를 활용하는 방법과 자신만의 라이브러리를 만드는 방법을 소개합니다.

파이썬 라이브러리란 무엇인가요?

라이브러리는 공유 코드의 모음입니다. 파이썬에서는 '모듈'이라고도 불리며, 다른 프로그래밍 언어에서도 널리 사용됩니다. 라이브러리는 모든 프로그래머가 자신의 프로그램에서 사용할 수 있는 함수를 정의하며, 이는 공공 도서관이 아무에게나 자료에 접근할 수 있도록 제공하는 것과 비슷합니다.

라이브러리를 사용하는 장점은 여러분이 자신의 솔루션을 코딩하지 않아도 시간과 노력을 절약할 수 있다는 것입니다. 라이브러리는 여러분이 생각해낼 수 있는 것보다 더 잘 테스트되고 디버깅되어 있는 경향이 있습니다. 또한 라이브러리를 사용하면 혼자서는 할 수 없는 일을 할 수 있게 해줍니다.

Python에는 그래픽, 게임 개발 등과 같은 작업을 위한 수많은 라이브러리가 있습니다. 제가 가장 좋아하는 라이브러리는 데이터 분석을 위한 것입니다. Python은 이러한 작업을 위한 많은 라이브러리가 있기 때문에 통계와 데이터 과학 분야에서 특히 인기가 있습니다.

파이썬 라이브러리 설치하는 방법

시스템에 Python 라이브러리를 설치하는 방법은 여러 가지가 있습니다. 리눅스 배포판을 사용하고 있다면, 배포판의 패키지 관리자에 Python 라이브러리가 포함되어 있는 경우가 많습니다. 예를 들어, Debian과 Ubuntu 시스템에서는 라이브러리가 종종 "python-" 또는 "python3-"로 시작합니다. 이렇게 하면 전체 시스템에 라이브러리가 설치되므로 관리 권한이 필요합니다.

시스템에 루트 또는 관리자 액세스 권한이 없더라도 Python 라이브러리를 로컬에 설치하는 방법이 있습니다.

당신은 pip 도구를 사용하여 Python 패키지 색인(PyPi)에 나열된 Python 라이브러리를 설치할 수 있습니다.

예를 들어, NumPy를 설치하려면:

pip install numpy
    

가상 환경에서 virtualenv 유틸리티를 사용하여 프로젝트별로 라이브러리를 설치할 수 있습니다.

당신은 Mamba를 사용하여 virtualenv의 개념을 더 발전시킬 수 있습니다. Mamba는 데이터 과학자와 분석가들 사이에서 인기가 있는 도구로, 프로젝트별 환경을 생성할 수 있게 해줍니다.

나는 이미 데이터 분석에 인기 있는 여러 라이브러리로 채워진 통계 컴퓨팅을 위한 맘바 환경을 가지고 있습니다. 나는 셸에서 그것을 활성화할 수 있습니다:

mamba activate stats
    

많은 파이썬 라이브러리는 언어와 함께 제공됩니다. 이것은 파이썬 문화의 자부심 포인트입니다. 파이썬 표준 라이브러리에는 운영 체제와 상호 작용하는 것부터 시간과 날짜를 다루는 것까지 여러 모듈이 있습니다. 그래서 파이썬 프로그래머들은 이 언어에 '배터리가 포함되어 있다'고 말하는 것을 좋아합니다.

전체 파이썬 라이브러리 가져오기

스크립트나 인터랙티브 파이썬 모드에서 전체 파이썬 라이브러리를 가져오려면 import 명령어를 사용하세요.

예를 들어, NumPy 모듈을 가져오려면 이 명령을 사용하세요:

import numpy
    

라이브러리를 가져오면 해당 모듈의 함수에 접근할 수 있습니다. 이는 마치 여러 개의 함수를 정의한 것과 같습니다. 이 함수들은 자체 네임스페이스 아래에 가져옵니다. 즉, 기본적으로 라이브러리의 모든 함수는 파이썬의 내장 명령어와 분리되어 유지됩니다. 이 상황을 변경하는 몇 가지 방법을 보여드리겠지만, 기본 동작은 대부분의 경우에 더 좋습니다.

이러한 기능에 접근하기 위해서는 방금 가져온 모듈을 호출할 수 있습니다. 객체 지향 프로그래밍이 어떻게 작동하는지 이해한다면, 이것은 효과적으로 객체입니다. 이러한 함수는 우리가 라이브러리를 가져와서 방금 생성한 객체에만 속하는 메서드입니다.

예를 들어, NumPy를 사용하여 배열의 산술 평균 또는 평균을 계산하려면 다음과 같이 입력합니다:

numpy.mean(numbers)
    

이것은 NumPy에서 평균 함수를 호출합니다.

당신은 함수에 접근할 때마다 "numpy"를 입력하는 것이 많다고 생각할 수도 있으며, 당신의 말이 맞습니다. 다른 이름으로 라이브러리를 가져와서 단축하는 방법이 있습니다. NumPy에서 흔히 볼 수 있는 예는 import 문에서 이름을 "np"로 줄이는 것입니다:

import numpy as np
    

이제 numpy를 "np."로 참조할 수 있습니다. 이전 평균 계산을 다시 작성해 봅시다:

np.mean(numbers)
    

라이브러리의 일부 가져오기 (인터랙티브 파이썬 전용!)

많은 경우, 표준 인터랙티브 파이썬 인터프리터나 IPython과 같은 인터랙티브 파이썬 섹션에서 작업할 때, 큰 라이브러리에서 한두 개의 함수만 가져오고 싶을 것입니다. 특히 세션 중에 반복적으로 사용하고 싶을 때 더욱 그렇습니다. Python에서는 이것도 쉽게 할 수 있습니다.

NumPy에서 단일 함수를 메인 네임스페이스로 가져오려면, 이 구성을 사용할 수 있습니다:

from library import function
    

예를 들어, NumPy에서 mean 함수를 임포트하려면:

from numpy import mean
    

함수들을 쉼표로 구분하여 여러 개를 동시에 가져올 수도 있습니다. 예를 들어, NumPy에서 평균과 중앙값 함수를 가져오려면:

from numpy import mean, median
    

이 함수들을 가져오면, 'numpy'나 'np.'로 접두사를 붙일 필요가 없습니다. 마치 기본 Python 함수의 일부인 것처럼 사용할 수 있습니다.

예를 들어, 숫자 배열의 평균을 계산하기 위해

mean(numbers)
    

그리고 중앙값:

median(numbers)
    

함수들을 개별적으로 가져오는 것은 입력을 절약할 수 있기 때문에 대화형 Python 세션에 더 적합합니다. 스크립트에서도 할 수 있지만 권장하지는 않습니다. 기본 Python 함수에 사용되는 네임스페이스를 덮어쓸 수 있습니다. 이로 인해 스크립트에서 버그가 발생할 수 있습니다. 온라인 포럼이나 IRC 채팅에서 도움을 요청하면 다른 Pythonista들이 애를 먹을 수 있습니다. 이것이 바로 스크립트에서 이러한 종류의 가져오기를 가능한 한 피해야 하는 이유입니다.

자신만의 파이썬 라이브러리 만들기 및 가져오기

자신의 파이썬 라이브러리를 가져오는 것도 쉽습니다. 파이썬 전문가가 아닐 필요 없이 할 수 있습니다. 필요한 것은 텍스트 편집기와 터미널을 사용할 수 있는 능력입니다.

파이썬 모듈은 궁극적으로 파이썬으로 정의된 함수들의 모음입니다. 스크립트를 작성하는 것과 같은 방식으로 .py로 끝나는 파일을 생성하면 됩니다. 자신만의 파이썬 함수를 만들었다면, 그것을 파일에 넣고 다른 내장 또는 설치된 파이썬 모듈과 마찬가지로 가져올 수 있습니다.

모듈을 가져오려면 실행 권한이 있는지 확인하세요. Unix 계열 시스템(리눅스 및 macOS 터미널 포함)에서는 chmod 명령어를 사용할 수 있습니다:

chmod +x my_library.py
    

당신은 앞서 설명된 방법을 사용하여 라이브러리를 가져올 수 있습니다. 모듈과 같은 디렉터리에 있다면, 그냥 import 문을 사용하면 됩니다. 예를 들어, 라이브러리를 가져오려면:

import my_library
    

라이브러리가 다른 디렉토리에 있는 경우, 검색 경로를 변경하는 방법이 몇 가지 있습니다. 첫 번째 방법은 PYTHONPATH 환경 변수를 사용하는 것입니다. 이것은 Python이 모듈을 찾기 위해 사용할 디렉토리 목록입니다. 시스템 셸에서 명령줄이나 Bash의 .bashrc와 같은 시작 파일에서 이 목록을 수정할 수 있습니다. 이는 리눅스 시스템의 PATH 환경 변수와 유사하게 콜론(:) 문자로 구분된 디렉토리 목록입니다.

리눅스 셸에서 echo 명령어로 그것을 검사할 수 있습니다:

echo $PYTHONPATH
    

변경하려면 추가하는 것이 가장 좋습니다.

export PYTHONPATH="$PYTHONPATH:/path/to/my/modules"
    

이것은 귀하의 디렉토리를 추가하기 전에 기존 모듈 검색 경로가 유지되도록 보장합니다.

내장 sys 모듈을 사용하여 검색 경로를 수정할 수도 있습니다. 대화형 파이썬 세션에서 단순히 가져오기만 하면 됩니다:

import sys
    

그럼 그것을 살펴보세요:

sys.path
    

검색 경로에 디렉토리를 추가하려면 append 메서드를 사용하세요:

sys.path.append('/path/to/my/modules')
    

파이썬 스크립트와 모듈 또는 라이브러리 사이에 진정한 구분이 없으므로, 한 가지를 쉽게 다른 것으로 변환할 수 있습니다. 작업을 더 작은 함수로 나누는 것은 좋은 프로그래밍 스타일입니다. 다른 스크립트나 대화형 섹션에서 그것들을 호출할 수도 있지만, 스크립트가 있다면 어떻게 해야 할까요? 스크립트의 작업을 "main" 함수에 정의하면 됩니다.

if __name__ == "__main__":
    

이것은 Python 인터프리터가 스크립트를 가져오는 대신 스크립트로 실행하고 있는지 확인합니다. 그런 다음 이 섹션 이후에 스크립트에서 실행하고 싶은 모든 코드를 넣을 수 있으며, 함수는 다른 스크립트나 대화형 세션에서 가져올 수 있도록 남겨둘 수 있습니다.


모듈을 사용할 수 있는 능력을 통해 파이썬의 방대한 모듈 배열을 활용할 수 있습니다. 스스로 할 수 있다고 생각했던 것보다 더 많은 일을 할 수 있게 될 것입니다. 처음부터 코딩하는 것에 비해 많은 시간과 노력을 절약할 수 있습니다.