변수를 상자라고 하면, 변수에 저장되는 값은 상자 안에 들어가는 내용물이라고 볼 수 있다.
같은 비유를 이용하여 클래스, 인스턴스까지 확장할 수 있는데,
상자를 정의하는 틀을 클래스라고 하면 그 틀을 이용해서 직접 만든 상자를 인스턴스라고 할 수 있다.
class Variable:
def __init__(self,data):
self.data = data
클래스에서 init 함수는 클래스가 생성될 때 자동으로 실행되는데, 자바나 C++ 에서의 생성자와 비슷하다고 보면 된다.
init 함수를 선언해 줄 때는 파라미터로 꼭 self 를 넘겨주어야 한다.
책에서 클래스를 나누고 py 파일을 나누는 것 까지는 잘 나와있는데 어떻게 가져와서 쓰는지는 잘 나와있지 않는군..
├─ modules
│ ├── variation.py
│ ├── utils.py
│ └── ...
└── main.py
나는 위와 같이 파일 디렉토리를 구성했다.
module 안의 파일들에서 구현해주고 가져다 쓸 때는 main.py 에서
from modules.variable import Variable
import numpy as np
data = np.array(1.0)
x = Variable(data)
print(data)
이런 식으로 사용해주었다.
같은 디렉토리 내에서 Variable 을 import 할 때에는 아래 코드만 추가해주면 된다.
from .variable import Variable
넘파이 정리는 넘어가겠습다.