Module

wldnjswldnjs·2023년 1월 6일
0

python

목록 보기
8/8

Module

  • 프로그램에서는 작은 프로그램 조각들, 모듈들을 모아서 하나의 큰 프로그램을 개발함

  • 프로그램을 모듈화 시키면 다른 프로그램이 사용하기 쉬움
    ex) 카카오톡 게임을 위한 카카오톡 접속 모듈

  • Built-in Module인 Random을 사용
    ex) import random -> 난수를 쉽게 생성할 수 있음


  • 파이썬의 Module == py파일을 의미
    1. 같은 폴더에 Module에 해당하는 .py파일과 사용하는 .py을 저장
    1. import문을 사용해서 module을 호출

1. python shell에서 불러오기

import를 하게 되면 .py 안에 있는 모든 코드가 메모리로 로딩

접근하는 방법 : 모듈의 이름.함수명()


2. 다른 모듈에서 불러오기

__pycache__

  • 컴파일된 파일
    코드를 쉽게 로딩할 수 있도록 파이썬 인터프리터가 컴파일한다.
    -> 백단에서 돌아가는 프로그램이 파이썬을 쉽게 호출할 수 있도록 기계어로 번역

3. namespace

  • 모듈을 호출할 때 범위 정하는 방법
  • 모듈 안에는 함수와 클래스 등이 존재 가능
  • 필요한 내용만 골라서 호출할 수 있음
  • from과 import 키워드 사용

❓ 모듈의 이름.함수명() 하게 되면 함수 안에 있는 모든 내용을 호출하게 됨

❗방지하는 방법 : if name == 'main':

1. Alias 설정 - 모듈명을 별칭으로

import fah_converter as fah
print(fah.covert_c_to_f(42.6)
  • covert_c_to_f 함수가 어디서 왔는지 위와 같이 명확하게 알려주는 것이 좋음

2. 모듈에서 특정 함수 또는 클래스만 호출

from fah_converter import covert_c_to_f
print(covert_c_to_f(42.6))  # 특정 함수만 호출

3. 모듈에서 모든 함수 또는 클래스 호출

from fah_converter import *
print(covert_c_to_f(42.6)) # 전체 호출

4. 수많은 파이썬 모듈은 어떻게 검색할 것인가?

  • 구글에게 물어본다

직접 코드를 구현하기보다 남들이 구현한 코드를 사용하는 경우가 많다.

궁금한 것

if name == 'main':

from fah_converter import *

from fah_converter 이렇게만 해도 전체호출 되는가?

0개의 댓글