• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

멤버변수를 어떨때 지정하는지 잘모르겠습니다 ㅜ

21.02.17 22:39 작성 조회수 125

0

#공중유닛
class flyable:
    def __init__(selfflying_speed):
        self.flying_speed = flying_speed
    
    def fly(selfnamelocation):
        print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]"\
            .format(name, location, self.flying_speed))

fly에서 name과 location에 왜 self가 안붙는지

어떨때 self.hp = hp 처럼 멤버변수를 지정하는지 두가지가 궁급합니다

답변 1

답변을 작성해보세요.

0

uki020226님의 프로필

uki020226

2021.06.15

나중에 따로 입력하여 외부에서 받아올 변수는 self 가 안붙습니다. 

그러니까 class 에서 정의 한 것 
__init__ 안에서, 정의 할때는  이 입력된 hp 값을 이 클래스 내에서 사용할 꺼고, 이건 변하지 않을 변수다. 라고 생각될때. self.hp 에 저장 하는게 self.hp = hp 입니다. ( 오른쪽의 값을 왼쪽에 저장)

그리고, name 과 location 에는 안붙는건 그때 그때 다른 유닛 이름과 다른 위치로 명령을 내릴 것이기 때문이죠. 

즉 상속되지 않는 녀석들 이라서 그렇습니다. 

외부에서, 그때그때 항상 바뀔 수 있는 값들이라, self 를 떼고 그떄그떄 바꿉니다. __init__ 안에 안넣은 것들이요.