인프런 커뮤니티 질문&답변

레몬 녹차 (탈퇴)님의 프로필 이미지
레몬 녹차 (탈퇴)

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

__init__

스타크래프트 전반전 보고 생긴 __init__(괄호 안에 거 ) 질문

작성

·

175

0

안녕하세요, 선생님
질문이 있습니다.
새로 생긴 class 경우
def __init__( ):
에서 저 괄호 안에는 어떤 것들을 제시해줘야하는지 모르겠습니다.
처음 class는
class Unit:
  def __init__(selfnamehpspeed):
    self.name=name
    self.hp=hp
    self.speed=speed
    print("{0} 유닛이 생성됐습니다.".format(self.name))
저렇게 처음에 def__init__():의 괄호 안에 어떤 값을 넣어야 할지 알겠습니다.
그리고 상속받은 class 또한
#공격하는 비행기
class FlyableAttackUnit(AttackUnitFlyable):
  def __init__(selfnamehpdamageflying_speed):
    AttackUnit.__init__(self, name, hp, 0, damage) 
    Flyable.__init__(self, flying_speed)
    def move(selflocation):
      print("[공중 유닛 이동]")
      self.fly(self.name, location)
부모 class의 def__init__():에서의 괄호 안의 값을 넣어야 하는 것도 이해됩니다.
그런데 상속받지 않은 새로운 class 경우
#비행기        
class Flyable:
  def __init__(selfflying_speed): ##[?] def __init__(안에 뭐가 들어가야하는지)
    self.fly=flying_speed
    def fly(selfnamelocation):
      print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]"\
            .format(name, location, self.flying_speed))
는 잘 모르겠습니다.

답변 1

0

공부하고있는 학생입니다. 

클래스를 선언할때 본인이 필요로하는걸 넣으면 되지않을까요? 선언할때 단어때문에 헷갈리신것같은데 저건 변수명처럼 작성자가 헷갈리지않게 쓰는거지 사실 a, b 이런식으로해도 구현이 될것같습니다!

레몬 녹차 (탈퇴)님의 프로필 이미지
레몬 녹차 (탈퇴)

작성한 질문수

질문하기