웹사이트 검색

Python 3에서 모듈을 가져오는 방법


소개

Python 프로그래밍 언어는 다양한 내장 함수와 함께 제공됩니다. 그 중에는 다음과 같은 몇 가지 일반적인 기능이 있습니다.

  • print() 식을 출력합니다
  • abs() 숫자의 절대값을 반환
  • 다른 데이터 유형을 정수로 변환하는
  • int()
  • len() 시퀀스 또는 컬렉션의 길이를 반환

그러나 이러한 내장 기능은 제한적이며 모듈을 사용하여 보다 정교한 프로그램을 만들 수 있습니다.

모듈은 Python 코드로 구성된 Python .py 파일입니다. 모든 Python 파일을 모듈로 참조할 수 있습니다. hello.py라는 Python 파일에는 다른 Python 파일로 가져오거나 Python 명령줄 인터프리터에서 사용할 수 있는 hello라는 모듈 이름이 있습니다. Python 3에서 모듈을 작성하는 방법을 읽으면 자신만의 모듈을 만드는 방법을 배울 수 있습니다.

모듈은 다른 Python .py 파일에서 또는 Python 명령줄 인터프리터를 통해 참조할 수 있는 변수가 될 수 있습니다.

Python에서 모듈은 import 문을 사용하여 액세스합니다. 이렇게 하면 현재 파일에서 사용할 수 있도록 정의 범위를 유지하면서 모듈의 코드를 실행합니다.

예를 들어 Python이 hello라는 모듈을 가져올 때 인터프리터는 먼저 hello라는 내장 모듈을 검색합니다. 내장 모듈을 찾을 수 없으면 Python 인터프리터는 sys.path에서 받는 디렉터리 목록에서 hello.py라는 파일을 검색합니다. 변하기 쉬운.

이 자습서에서는 모듈 확인 및 설치, 모듈 가져오기 및 모듈 별칭 지정을 안내합니다.

전제 조건

컴퓨터나 서버에 Python 3가 설치되어 있고 프로그래밍 환경이 설정되어 있어야 합니다. 프로그래밍 환경이 설정되지 않은 경우 운영 체제(Ubuntu, CentOS, Debian 등)에 적합한 서버의 프로그래밍 환경에 대한 설치 및 설정 가이드를 참조할 수 있습니다.

모듈 확인 및 설치

시스템 기능에 대한 액세스를 제공하거나 표준화된 솔루션을 제공하는 많은 모듈을 포함하는 Python 표준 라이브러리에 내장된 많은 모듈이 있습니다. Python 표준 라이브러리는 모든 Python 설치의 일부입니다.

정보: 이 자습서의 예제 코드를 따라하려면 python3 명령을 실행하여 로컬 시스템에서 Python 대화형 셸을 엽니다. 그런 다음 >>> 프롬프트 뒤에 추가하여 예제를 복사, 붙여넣기 또는 편집할 수 있습니다.

이러한 Python 모듈이 준비되었는지 확인하려면 로컬 Python 3 프로그래밍 환경 또는 서버 기반 프로그래밍 환경에 들어가 다음과 같이 명령줄에서 Python 인터프리터를 시작합니다.

  1. python

인터프리터 내에서 다음과 같이 import 문을 실행하여 주어진 모듈을 호출할 준비가 되었는지 확인할 수 있습니다.

  1. import math

수학은 내장 모듈이므로 통역사는 피드백 없이 작업을 완료하고 프롬프트로 돌아갑니다. 즉, 수학 모듈을 사용하기 위해 아무것도 할 필요가 없습니다.

2D 플로팅 라이브러리 matplotlib와 같이 설치하지 않았을 수 있는 모듈로 import 문을 실행해 보겠습니다.

  1. import matplotlib

matplotlib가 설치되어 있지 않으면 다음과 같은 오류가 표시됩니다.

Output
ImportError: No module named 'matplotlib'

CTRL + D를 사용하여 Python 인터프리터를 비활성화한 다음 pip를 사용하여 matplotlib를 설치할 수 있습니다.

다음으로 pip를 사용하여 matplotlib 모듈을 설치할 수 있습니다.

  1. pip install matplotlib

설치가 완료되면 import matplotlib를 사용하여 Python 인터프리터에서 matplotlib를 가져올 수 있으며 오류 없이 완료됩니다.

모듈 가져오기

모듈의 기능을 사용하려면 import 문으로 모듈을 가져와야 합니다.

import 문은 모듈 이름과 함께 import 키워드로 구성됩니다.

Python 파일에서 이것은 코드 상단, shebang 줄 또는 일반 주석 아래에 선언됩니다.

따라서 Python 프로그램 파일 my_rand_int.py에서 random 모듈을 가져와서 다음과 같은 방식으로 난수를 생성합니다.

import random

모듈을 가져올 때 현재 프로그램에서 별도의 네임스페이스로 사용할 수 있습니다. 이는 [module].[function]에서와 같이 점 표기법으로 함수를 참조해야 함을 의미합니다.

실제로는 random 모듈의 예에서 다음과 같은 함수처럼 보일 수 있습니다.

  • random.randint()는 임의의 정수를 반환하는 함수를 호출하거나
  • random.randrange() 지정된 범위에서 임의의 요소를 반환하는 함수를 호출합니다.

my_rand_int.py 프로그램 내에서 random 모듈의 함수를 호출하는 방법을 보여주기 위해 for 루프를 만들어 보겠습니다.

import random


for i in range(10):
    print(random.randint(1, 25))

이 작은 프로그램은 먼저 첫 번째 줄에서 random 모듈을 가져온 다음 10개의 요소로 작업할 for 루프로 이동합니다. 루프 내에서 프로그램은 1에서 25(포함) 범위 내의 임의의 정수를 인쇄합니다. 정수 125는 매개변수로 random.randint()에 전달됩니다.

python my_rand_int.py로 프로그램을 실행하면 출력으로 10개의 무작위 정수를 받게 됩니다. 이들은 무작위이기 때문에 프로그램을 실행할 때마다 다른 정수를 얻을 수 있지만 다음과 같이 생성됩니다.

Output
6 9 1 14 3 22 10 1 15 9

정수는 1보다 작거나 25보다 높아서는 안 됩니다.

둘 이상의 모듈에서 함수를 사용하려면 여러 import 문을 추가하면 됩니다.

import random
import math

import random, math와 같이 쉼표로 구분하여 여러 모듈을 가져오는 프로그램을 볼 수 있지만 이는 PEP 8 스타일 가이드와 일치하지 않습니다.

추가 모듈을 사용하려면 math의 상수 pi를 프로그램에 추가하고 출력되는 임의 정수의 수를 줄일 수 있습니다.

import random
import math


for i in range(5):
    print(random.randint(1, 25))

print(math.pi)

이제 프로그램을 실행하면 다음과 같은 출력을 받게 됩니다. 출력의 마지막 줄은 파이 근사치입니다.

Output
18 10 7 13 10 3.141592653589793

import 문을 사용하면 하나 이상의 모듈을 Python 프로그램으로 가져와 해당 모듈에서 구성된 정의를 사용할 수 있습니다.

from … 가져오기 사용

프로그램 네임스페이스 내의 모듈에서 항목을 참조하려면 fromimport 문을 사용할 수 있습니다. 이 방법으로 모듈을 가져올 때 점 표기법이 아닌 이름으로 함수를 참조할 수 있습니다.

이 구성에서 직접 참조할 정의를 지정할 수 있습니다.

다른 프로그램에서는 import 문이 별표(*)를 와일드카드로 사용하여 모듈 내에 정의된 모든 항목에 대한 참조를 취하는 것을 볼 수 있지만 PEP에서는 권장하지 않습니다. 8.

먼저 random 모듈에서 특정 함수인 randint()를 가져오는 것을 검토해 보겠습니다.

from random import randint

여기에서 먼저 from 키워드를 호출한 다음 모듈에 대해 random을 호출합니다. 다음으로 import 키워드를 사용하고 사용하려는 특정 함수를 호출합니다.

이제 프로그램 내에서 이 함수를 구현할 때 더 이상 함수를 점 표기법으로 random.randint()로 작성하지 않고 대신 randint()만 작성할 것입니다.

from random import randint


for i in range(10):
    print(randint(1, 25))

프로그램을 실행하면 이전에 받은 것과 유사한 출력을 받게 됩니다.

fromimport 구성을 사용하면 프로그램의 네임스페이스 내에서 모듈의 정의된 요소를 참조할 수 있으므로 점 표기법을 피할 수 있습니다.

앨리어싱 모듈

as 키워드를 사용하여 Python 내에서 모듈의 이름과 기능을 수정할 수 있습니다.

프로그램에서 이미 같은 이름을 사용했기 때문에 이름을 변경하고 싶을 수 있습니다. 가져온 다른 모듈도 해당 이름을 사용하거나 많이 사용하는 더 긴 이름을 축약하고 싶을 수 있습니다.

이 문의 구성은 다음과 같습니다.

import [module] as [another_name]

my_math.py 프로그램 파일에서 math 모듈의 이름을 수정해 보겠습니다. math의 모듈 이름을 m로 변경하여 축약하겠습니다. 수정된 프로그램은 다음과 같습니다.

import math as m


print(m.pi)
print(m.e)

프로그램 내에서 이제 pi 상수를 math.pi가 아닌 m.pi로 참조합니다.

일부 모듈의 경우 별칭을 사용하는 것이 일반적입니다. matplotlib.pyplot 모듈의 공식 문서에서는 plt를 별칭으로 사용하도록 요구합니다.

import matplotlib.pyplot as plt

이를 통해 프로그래머는 plt.show()에서와 같이 모듈 내에서 사용할 수 있는 함수에 짧은 단어 plt를 추가할 수 있습니다. "matplotlib 자습서를 사용하여 Python 3에서 데이터를 플로팅하는 방법\에서 사용 중인 이 별칭 가져오기 문을 볼 수 있습니다.

결론

모듈을 가져올 때 Python에 내장되지 않은 함수를 호출할 수 있습니다. 일부 모듈은 Python의 일부로 설치되며 일부는 pip를 통해 설치됩니다.

모듈을 사용하면 기존 코드를 활용할 때 프로그램을 더욱 견고하고 강력하게 만들 수 있습니다. 또한 우리 자신과 다른 프로그래머가 향후 프로그램에서 사용할 자체 모듈을 만들 수도 있습니다.