본문 바로가기
프로그래밍/독학(어려워요 같이해요)

천인국 교수님의 인공지능 책보고 독학해보기(파이썬) - BFS 부분 예제 #1(p.76)

by 노마드데이터랩 2020. 3. 11.
728x90
반응형

너무 의욕이 앞섰나봅니다.

파이썬 문법이 이해되지 않아 이것저것 찾아보고 있습니다.

 

제가 공부하고 있는 책이 있는데, 예제 내용 나올때마다

관련 내용 올리도록 하겠습니다.

 

답변이 미흡할 수 있어, 궁금하신 점이 있다면

댓글로 부탁드립니다. 같이 공부하면 좋을거 같습니다~!

첫번째 예제네요.

class State:
    def __init__(self, board, goal, move=0):
        self.board = board
        self.moves = moves
        self.goal = goal

...

S1 = State()

궁금한 점을 찾아보겠습니다.

1. 파이썬은 대소문자를 구분한다?

- 네 구별한다고 합니다. member1에 클래스를 넣고

Member1을 치니, 정의가 되어있지 않다고 나오네요

member1을 치니 잘 나옵니다.

 

2. def은 뭐하는 함수인가?

- 함수를 정의하는 함수라고 합니다. 함수 정의할 때는 def를 앞에 붙이면 됩니다.

클래스 내에 정의되는 함수는 '매서드'라고 부른다고 하네요

 

3. __init__ 이건 뭐하는 함수인가?

- 이게 계속 궁금했었는데, 답을 찾지못했습니다. 업데이트합니다.

클래스를 만들어놓고 인스턴스 생성할 때, 이렇게 생성하죠

ex) S1 = State()

그럼 보통 클래스 안에 있는 함수는 따로 수행을 해줘야지

실행이 됩니다. 그런데 __init__함수는

인스턴스를 생성할 때 바로 수행이 되는 함수라고 하네요.

저위에서는 self.board = board

self.moves = moves

self.goal = goal

이게 생성하자마자 실행이 되는거죠~^^

 

4. def __init__(self, board, goal, moves=0)에서 self는 뭔가?

- self는 class 내에서 함수를 정의할 때 들어가는 첫번째 인자라고 합니다.

지금은 우선 그냥 외워야 할 거 같습니다.

 

5. self.board = board는 무슨 뜻인가?

- self는 클래스 인스턴스를 뜻한다고 합니다.

'self.변수명'을 인스턴스 변수라고 한다고 합니다.

나중에 생성될 클래스 인스턴스 내의 변수명을 나타낸다고 합니다.

여기서는 State라는 클래스 폼을 S1이라는 인스턴스에 저장했습니다.

그래서 S1에는 board, goal, moves의 3개의 인스턴스를 가지게 됩니다.

인스턴스 각 변수가 가리키는 값을 알고 싶다면

S1.board, S1.goal, S1.moves를 쳐서 확인하면 됩니다.

 

그럼 다음예제로 찾아뵙겠습니다~^^

 

728x90
반응형

댓글