본문 바로가기

Python

[Python] Module 정리

0. 딥러닝 입문기


21년 상반기, 자대 석사 1학기 연구과제로 물류과로써는 뜬금없이 딥러닝을 선택했다.(지금은 자퇴했다. 이에 대해서도 기회가 된다면...) 머신러닝 그리고 딥러닝은 난생 처음 접하는 것 이었고, DNN이니 LSTM이니 CNN이니하는 알고리즘도 정말 어려웠지만, 파이썬 문법, 특히 이 모듈화가 정말 어려웠다.(+ 리눅스...) 구글링의 소중함을 정말 많이 느낀 시간이었고, 하나의 product를 완성하려면 정말 많은 지식을 필요로 한다는 것도 깨달았다...


관심이 있으신 분들을 위해 부끄럽지만... 레포 주소... NLP_Review_Classifier


1. module


  1. module?
    • 한 개의 완성된 프로그램 파일
    • 내장모듈: 파이썬 설치 시 자동으로 설치되는 모듈
    • 외부모듈: 다른 사람이 만든 파이썬 파일을 pip로 설치해서 사용

  1. module을 사용하는 법
import math
print(math.pi)
print(math.ceil(2.5))

or

from math import pi, ceil
print(pi)
print(ceil(2.5))

or

from math import pi, ceil as c
print(pi)
print(c(2.5))

  1. if __name__ == "__main__": 이란?
  • 해당 파일을 직접 실행했을 떄만 실행된다.
  • 예를 들어,
# 외부에서 모듈을 실행하면 __name__이 "__main__"이 아닌 해당 모듈의 이름을 반환함
# module.ipynb
print(pay_module.__name__)

>>> pay_module

# pay_module.py
print(__name__)

>>> __main__

  1. package
  • 관련 있는 모둘을 하나의 폴더로 구성해 놓은 것.
startcoding/
    unit/
        __init__.py
        character.py
        item.py
        monster.py
    main.py
# 1. import 패키지.모듈

import unit.character
unit.character.test()

# 2. from 패키지 import 모듈

from unit import item
item.test()

# 3. from 패키지 import *

from unit import *
character.test()
item.test()
monster.test()

# 4. import 패키지

import unit
unit.character.test()
unit.item.test()
unit.monster.test()

2. pickle?


  1. pickle?
  • 파일에 파이썬 객체를 저장하기위해 사용하는 모듈
  • 내장모듈
import pickle

data = {
    'wow': 1,
    'freinds': 2
}
# 쓰기
file = open("data.pickle", "wb")
pickle.dump(data, file)
file.close()

# 읽기
file = open("data.pickle", "rb")
data = pickle.load(file)
print(data)
file.close()

# with 구문을 사용하여, close없이 사용
with open("data.pickle", "rb") as file:
data = pickle.load(file)
print(data)