__pycache__
만약 위의 폴더가 생성된다면, 파이썬이라는 인터프리터가 메모리 로딩을 좀 더 빨리하기 위해 컴파일을 시켜줬다~ 라고 이해해주기
파이썬에서 module이란 하나의 py(파이썬 파일)을 의미
모듈 안에는 함수, 클래스가 존재할 수 있어 모두 가져오거나 필요한 내용만 골라서 호출할 수도 있음
같은 디렉토리 안에 있어야 호출 가능하다
파이썬 파일을 모듈로 불러와 호출할 때 해당 파일에 함수, 코드 다 섞여있으면 import를 하자마자 실행될 수 있다. (그냥 print문이 존재하는 등) 따라서 파이썬 파일을 직접 실행할 때만 호출되도록 하고 싶은 구문은 위의 코드로 감싸주면 된다.
만약 모듈로 호출이 된다면 __name__
에는 모듈 이름이 설정된다. 해당 파일을 커맨드라인 등 직접 실행한다면 __name__
에는 __main__
이라는 값(네임스페이스)가 들어간다.
모듈 import시 모든 코드가 메모리에 로딩되는 것을 방지하기 위해 Alias as
를 설정하거나 from
을 사용하여 특정 함수나 클래스만 호출할 수도 있다.
여러 방법 중 가독성을 높여주는 방식은 해당 함수가 어디서 왔는지 명시적으로 밝혀주는 Alias 방식이다.
import fah_converter as fah
print(fah.convert_c_to_f(41.6))
위와 같이 fah
라는 모듈에서 함수를 불러왔다는 것을 코드만 봐도 알 수 있게 된다.
모듈이 모여 폴더로 연결, 패키지가 됨 (하나의 대형 프로젝트를 만드는 코드의 묶음)
__init__.py
구성하기python 3.3+
부터는 X__all__ = ["image", "sound"]
from . import image
from . import sound
위와 같은 형식으로 작성
virutalenv + pip
가장 대표적인 가상환경 관리 도구
레퍼런스, 패키지의 개수면에서 pip로 설치할 수 있어서 유용
상용 가상 환경 도구
아나콘다에서 사용되는 가상환경 도구
Windows에서 매우 편리~! (컴파일된 도구까지 한꺼번에 다운)
(pip는 python이 C로 되어있는데 pip는 컴파일된 코드가 안 들어가있을때가 있음)
conda create -n 프로젝트이름 python=3.11
위와 같은 형식으로 가상환경을 만들어준 뒤 실행하면 된다.
import numpy as np
보통 np
로 alias 처리를 해서 넣는 경우가 대부분
생성 : test_array = np.array([1,2,3], float)
numpy.ndarray 객체로 생성
하나의 데이터 타입만 배열에 넣을 수 있음
dynamic typing이 지원되지 않음
C의 Array를 사용하여 배열을 생성
shape
: numpy array의 dimension 구성을 반환
ex. [[1,2,3,3],[4,5,6,6],[7,8,9,9]]
-> (3,4)
ex. [1,2,3,4]
-> (4,)
(튜플이라서 값 1개 반환시 뒤에 콤마 존재)
dtype
: numpy array의 데이터 타입을 반환
ndim
: number of dimensions 몇차원이냐
size
: data의 전체 개수
nbytes
: ndarray object의 메모리 크기 반환
일반적인 리스트와 달리, 원하는 행과 열만 뽑아내는 slicing이 가능함