Published 2021. 3. 9. 14:41

객체와 return값에 대해 알아봅니다.

간단한 예제를 살펴봅시다.

 

class A():
    def __init__(self, name):
        self.name = name
        
    def __str__(self):
        return "I am {}".format(self.name)

class B():
    def fit(self, name):
        return A(name)

 

클래스 A

__init__ : 실행시 인수 name으로 받은 것을 self.name으로 설정합니다.

__str__ : 객체를 문자열로 표현합니다.

   * __init__, __str__ 모두 파이썬 클래스의 특수 메소드

 

클래스 B

fit : 인수 name으로 받은 것을 클래스A의 name으로 객체를 생성합니다.

 

 

b = B()
a = b.fit('Bernice')
print(a)

 

b = B()

b는 클래스 B의 객체입니다.

 

a = b.fit('A')

클래스 B의 fit 메소드에 문자열 'Bernice'를 입력합니다. 'Bernice'를 인수 name로 받습니다. 클래스 A의 name으로 객체를 생성합니다.

 a는 클래스 A의 객체입니다.

 클래스 A 실행되며 'Bernice'를 self.name으로 설정합니다.

 

print(a)

객체를 print해야 합니다.

만약 __str__가 없다면, <__main__.A object at 0x00000180D6843F88> 와 같이 객체를 출력합니다.

그러나 __str__가 있기에, print는 str를 참조하여 'I am Bernice'를 출력합니다.

 

 

객체 개념에 익숙해지자.

복사했습니다!