[빛-Hikari-의 Python] 08장-02 모듈(패키지 가져오기)
4904 단어 IT 교육파이썬기본 정보 기술자 시험프로그래밍 초보자
[Python] 08장-02 패키지 가져오기
이전 섹션에서는 모듈이라는 파일을 가져와 함수를 호출했습니다. 거기에서는, 단체의 모듈을 임포트하고 있었습니다만, 향후 여러가지 프로그램을 작성해 가면, 모듈이 증가해 가고, 결국에는 관리가 번잡해져 버립니다.
이 절에서는 모듈 관리가 번거롭지 않게 패키지(package: 소포)라는 단위로 정리하여 관리를 용이하게 할 수 있습니다. 이렇게 하면 모듈을 통합할 수 있지만 패키지 내에 모듈을 계층화하고 관리할 수도 있습니다. 이 절에서는 이러한 패키지의 취급에 대해 다룹니다.
이미지로는 모듈이 파일이고 그것을 관리하는 폴더가 패키지입니다.
패키지 만들기
패키지를 만들어 보겠습니다. 먼저 다음과 같이 빈 패키지를 만듭니다.
([python 폴더를 마우스 오른쪽 버튼으로 클릭] → [New] → [Python Package]를 선택)
패키지 이름을 pkg로 합니다.
그러면 다음과 같이 패키지를 만들 수 있습니다. 빈 pkg라는 패키지를 만들었을 것인데, __init__.py라는 내용이 빈 파일이 들어 있습니다. 이것이 있으면 pkg가 패키지임을 나타냅니다.
그럼, 작성한 pkg내에, 모듈을 작성해 갑시다. 이번에는 2개 작성해 갑니다.
pkg 폴더를 마우스 오른쪽 버튼으로 클릭하고 sampmodA 및 sampmodB라는 모듈 파일을 만듭니다.
각 모듈에 다음 코드를 기재하십시오.
sampmodA.pydef calc_plus(x, y):
print('sampmodAモジュール内のcalc_plus関数が呼び出されました。')
return x + y
sampmodB.pydef calc_mult(x, y):
print('sampmodBモジュール内のcalc_mult関数が呼び出されました。')
return x * y
패키지에 있는 모듈 가져오기
그런 다음 패키지에 있는 모듈을 가져오는 것을 고려해 보겠습니다. 일반적으로 다음과 같이 지정합니다. (일부 방법이 있습니다)
【방법 1】
import パッケージ名.モジュール名
이 방법을 사용하면 함수를 호출 할 때 "패키지 이름. 모듈 이름. 함수 이름"이 지정되고 매번 패키지 이름과 모듈 이름을 나열하므로 코드가 번잡합니다.
【방법 2】
from パッケージ名.モジュール名 import 関数名(または変数名)
이 방법은 패키지의 모듈에서 하나의 함수 (변수 만)를 읽을 수 있습니다. 이렇게하면 다른 파일에서 실행할 때 함수 이름을 지정하기 만하면 패키지의 모듈에있는 함수를 호출 할 수 있습니다.
그런 다음 패키지에 있는 위의 두 모듈을 실제로 가져옵니다. 이번은 【방법 2】의 방법으로 임포트를 합니다.
Python Console에서 다음 코드를 입력하십시오.
>>> from pkg.sampmodA import calc_plus
>>> from pkg.sampmodB import calc_mult
>>> calc_plus(10, 20)
sampmodAモジュール内のcalc_plus関数が呼び出されました。
30
>>> calc_mult(10, 20)
sampmodBモジュール内のcalc_mult関数が呼び出されました。
200
이를 통해 패키지에서 모듈을 가져올 수 있는지 확인할 수 있을까요?
마지막으로
패키지 가져오기에 대해 언급했지만, 이에 대해서도 향후 외부 모듈(라이브러리)을 패키지에서 읽어들일 때 반드시 필요하게 됩니다.
이번에는 스스로 패키지를 만들고 모듈을 스스로 만들고 가져 오기 위해 실행했지만 자체 제작하는 것은 거의 없습니다. 앞으로는 외부에 있는 패키지 내의 모듈을 가져오는 것이 대부분이라고 생각합니다.
이 섹션에서 패키지의 모듈을 가져오는 방법을 확실히 착용하십시오.
【목차 링크】로 돌아온다
Reference
이 문제에 관하여([빛-Hikari-의 Python] 08장-02 모듈(패키지 가져오기)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ko0821/items/d4a944dca24143ec8625
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def calc_plus(x, y):
print('sampmodAモジュール内のcalc_plus関数が呼び出されました。')
return x + y
def calc_mult(x, y):
print('sampmodBモジュール内のcalc_mult関数が呼び出されました。')
return x * y
import パッケージ名.モジュール名
from パッケージ名.モジュール名 import 関数名(または変数名)
>>> from pkg.sampmodA import calc_plus
>>> from pkg.sampmodB import calc_mult
>>> calc_plus(10, 20)
sampmodAモジュール内のcalc_plus関数が呼び出されました。
30
>>> calc_mult(10, 20)
sampmodBモジュール内のcalc_mult関数が呼び出されました。
200
Reference
이 문제에 관하여([빛-Hikari-의 Python] 08장-02 모듈(패키지 가져오기)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ko0821/items/d4a944dca24143ec8625텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)