Category | boostcamp/AI tech prep |
---|---|
Tag | python |
날짜 | |
발행 여부 |
Inspired
모듈과 패키지
모듈 : 작은 프로그램 조각들
패키지 : 모듈의 모음. 하나의 프로그램이다.
Module
Module
은 .py
파일을 의미한다.
어떠한 module 을 import 하면 해당 module 의 모든 코드가 메모리로 로드된다.
module 내의 함수를 .
로 사용할 수 있다.
사용하려면 같은 디렉토리에 있어야 한다.
어떠한 module 을 import 하면 pycache
라는 폴더가 생겨서 module 을 pyc
로 컴파일 해둔다.
Module 의 namespace
- 모듈을 호출할 때, 범위를 정하여 호출할 수 있다.
- 원하는 것만 import 할 수 있는 것
import module
을 하면 모든 코드가 로딩 되기 때문에 이를 방지하기 위해 namespace 를 사용할 수 있다.
별칭
을 써서 import 하는 것을 좋아한다. 독자 입장에서는 해당 코드가 어디에서 왔는지 밝혀주는 것이 명확하기 때문이다.
Built-in Module
import random
: 난수 생성
import time
: 시간 관련
import urllib.request
: 웹 request 관련
매우 많은 파이썬 모듈을 다 알 수는 없다.
필요한 기능이 있다면 Google it.
모듈을 다 아는 것 보다 중요한 것은 검색 Keyword
를 아는 것
Package
이런 구조의 package 가 있으면,
from module_folder import test_module
print(test_module.test_func(2))
folder 안의 module 도 이렇게 import 할 수 있다.
Package 만들기
- 처음에 내가 쓸, import 할 것들을
__all__
에 리스트화 해두고 import 해 준다.
- package 의 최 상단 폴더에
__main__.py
를 만들어서 해당 package 자체를 실행할 수 도 있다.
한 번 pycache
에 잘 생성되면, IDE 에서 자동완성을 시켜준다.
Package namespace
실제 프로젝트 (package)
Python Virtual Enviornment
- 필요한 패키지만 설치하는 환경
대표적인 도구
virtualenv
+pip
: 대표적인 가상환경 관리 도구
conda
: windows 에서 장점 / 훨씬 더 편하다.
Colab 에서의 conda
- colab 은 개별 노트북이기에 conda 없어도 된다.
프로그램을, 루프를 길게 돌릴 때, tqdm
을 사용하여 유용하게 현위치를 파악할 수 있다.
반응형
'boostcamp > AI tech prep' 카테고리의 다른 글
Pandas (2 장 완료해야함) (0) | 2021.12.12 |
---|---|
Numerical Python - Numpy (0) | 2021.11.24 |
Pythonic Code (0) | 2021.11.09 |