Python_8. 모듈

소고기는레어·2021년 6월 7일
0

Python

목록 보기
8/10

모듈

모듈

  • 모듈은 함수나 변수 또는 클래스를 모아 놓은 파일이다.
  • 모듈의 확장자는 .py이다.
  • 모듈을 직접 만들거나 기존에 있는 모듈을 불러와서 안에 포함된 함수와 클래스 등을 사용할 수 있다.
# 모듈 불러오기
import 모듈명
# 모듈 안에 포함된 함수 사용하기
모듈명.함수명()

# 모듈명에 별칭을 부여할 수 있다.
import 모듈명 as 별칭
# 별칭을 통해 모듈을 호출할 수 있다.
별칭.함수명()

# from import를 사용하면 호출시 모듈명을 생략할 수 있다.
from 모듈명 import *
# 모듈명을 생략해도 함수가 호출된다.
함수명()

# from import를 사용하여 필요한 함수만 불러올 수 있다.
# 또한 불러온 함수에 별칭을 부여할 수 있다.
from 모듈명 import 함수명 as 함수별칭
# 함수의 별칭만 입력해도 해당 함수가 호출된다.
함수별칭()

# 예시
import my_module
my_module.my_function()

import my_module as mm
mm.my_function()

from my_module import *
my_function()

from my_module import my_function as mf
mf()

패키지

  • 패키지는 모듈을 모아놓은 집합이다.
  • 하나의 디렉토리에 여로 모듈들을 저장하는 방법으로 패키지를 생성할 수 있다.
# 예시
import my_package.my_module
my_module.my_class().my_function()

# 패키지를 불러올 때 import 문에서는 모듈 단위까지만 지정이 가능하다.
# from import 문을 사용하면 필요한 클래스 혹은 함수만 지정하여 불러올 수 있다.
from my_package.my_module import my_class
my_class().my_function()

__all__

  • __all__을 통해 from 패키지명 import * 을 사용하여 전체 모듈을 불러올 때 어떤 모듈들을 불러오도록 할 것인지 설정할 수 있다.
  • __all__을 통해 불러올 모듈을 설정하지 않으면 import *로는 아무것도 불러와지지 않는다.
# 패키지 디렉토리에 __init__.py 모듈을 생성한다.
# 아래 내용을 입력한다.
__all__ = ["모듈명", "모듈명", [..."모듈명"]]

# 위에 입력한 모듈은 from 패키지 import * 을 통해 불러올 수 있게 된다.

모듈 직접 실행

  • 모듈을 모듈 파일 내에서 직접 실행하는 것과 모듈 외부에서 호출하여 실행하는 것을 구분하여 표기할 수 있다.
# 모듈 파일 내에 아래 내용 추가


if __name__ == "__main__":
    # 모듈 파일 내에서 직접 실행하면 아래 문구가 출력된다.
    print("my_module을 직접 실행")
    my_class.my_function()
    
    # 외부에서 모듈을 호출할 경우 아래 문구가 출력된다.
else:
    print("외부에서 모듈 호출")

패키지, 모듈 디렉토리

  • inspect를 사용하여 패키지와 모듈이 저장된 디렉토리를 확인할 수 있다.
import inspect
import random
print(inspect.getfile(random))
# /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/random.py

import math
print(inspect.getfile(math))
# /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload/math.cpython-39-darwin.so

pip install

  • pip install을 통해 서드파티 라이브러리나 패키지 등을 설치할 수 있다.
  • https://pypi.org/ 에서 다양한 서드파티 라이브러리를 찾아볼 수 있다.
# 예시 : matplotlib 설치
# 터미널에 직접 입력
pip install matplotlib

# 설치가 잘 진행되었는지 확인
import matplotlib

내장함수 & 외장함수

  • 내장함수

  • 외장함수

    • 외장함수는 별도의 import를 통해 사용해야하는 함수이다.

연습 문제

  • 나만의 시그니처를 남기는 모듈 만들기
# byme.py

def sign():
    print("이 프로그램은 [소고기는레어]에 의해 만들어졌습니다.")
    print("블로그 : https://velog.io/@drrobot409")
    print("전화번호 : 010-0000-0000")
    print("이메일 : fakemail@gmail.com")
    
import byme
byme.sign()

'''
이 프로그램은 [소고기는레어]에 의해 만들어졌습니다.
블로그 : https://velog.io/@drrobot409
전화번호 : 010-0000-0000
이메일 : fakemail@gmail.com
'''

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자 (完)

profile
https://www.rarebeef.co.kr/

0개의 댓글