객체와 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'를 출력합니다.
객체 개념에 익숙해지자.
'컴퓨터 > python' 카테고리의 다른 글
파이썬의 비동기 처리 (0) | 2022.05.23 |
---|---|
[python] M1 opencv 설치하기 (0) | 2021.09.02 |
[python] 문자열 타입으로 된 리스트를 리스트 타입으로 바꾸기 (0) | 2021.08.07 |
[파이썬] pyinstaller exe파일 에러 (0) | 2021.04.14 |
[파이썬] 폴더에서 파일명 목록 가져오기 (1) | 2021.03.08 |