점프 투 파이썬, 클래스 생성시 self 문의 드립니다.
201쪽 내용입니다. 클래스에 관해 배우던중에서 이해가 가지 않는 부분 문의 드립니다.~
class HousePark:
lastname = '박'
def setname(self, name):
self.fullname = self.lastname + name
def travel(self, where):
print("%s, %s여행을 가다." %(self.fullname, where))
위 클래스를 보면
travel 메소드에서
self.where = where
라는 것이 없습니다.
전달 받은 인자를 사용하기 위해서 보통
self.인자이름 = 인자이름
이런식으로 배워서
저는
class HousePark:
lastname = '박'
def setname(self, name):
self.fullname = self.lastname + name
def travel(self, where):
self.where = where
print("%s, %s여행을 가다." %(self.fullname, self.where))
이렇게 해야지 된다고 생각했는데, 그냥 where 인자가 사용되었네요
"self.인자이름 = 인자이름 "을 선언하는경우와 선언하지 않는 경우는 어떤차이가 있는지 궁금합니다.
ilue00 님 479
2021년 3월 5일 9:19 오후
2개의 답변이 있습니다. 1 / 1 Page
self.where 는 HousePark 클래스로 만들어진 객체의 객체변수 where를 의미합니다.
travel 메서드의 where 매개변수는 객체변수가 아니라 그냥 travel 메서드에서 사용된 함수에서만 사용되는 변수입니다.
박응용 님
2021년 3월 5일 11:31 오후