반응형
이번 포스팅에서는 파이썬의 특수 메소드 중 객체와 관련되어 있는 메소드에 대하여 공부를 해보고자 한다.
특수 메소드
특수 메소드란 클래스에 정의하는 약속된 메소드로 객체가 특정한 상황에서 사용될 때 자동으로 호출되는 메소드들이다.
메소드 명이 더블 언더스코어(__)로 시작하고 끝난다.
ex) __init__( ), n__str( )__
매직 메소드(Magic Method), 던더(DUNDER) 메소드라고도 한다.
객체 관련 특수 메소드
isinstance(객체, 클래스 이름)
객체가 두 번째 매개변수로 지정한 클래스의 타입이면 True, 아니면 False 반환하는 메소드
객체.__dict__
객체가 가지고 있는 instance 변수들과 대입된 값을 dictionary에 넣어 반환하는 메소드
객체.__class__
객체의 타입을 반환하는 메소드
객체.__dir__
객체의 모든 속성, 메소드들의 이름을 리스트로 묶어서 반환하는 메소드
type(객체)
객체의 클래스 이름을 어느 클래스로부터 생성된 객체/값 인지 반환하는 메소드
예제
두 개의 클래스를 상속하는 WordProcessor 클래스를 정의한다. (다중 상속)
class WordProcessor(Printer, Saver): # Printer와 Saver 두개 클래스를 상속 => 다중 상속
def write(self):
print("글을 작성한다.")
def test(self):
print('word processor에서 글쓰기 테스트')
WordProcessor 클래스를 선언한다.
객체 관련 특수 메소드들 이용하여 각각의 값을 반환한다.
wp = WordProcessor()
type(wp)
isinstance(wp, WordProcessor)
isinstance(wp, Printer)
isinstance(wp, Saver)
wp.__class__
wp.__dict__
wp.__dir__()
[실행결과]
__main__.WordProcessor
True
True
True
__main__.WordProcessor
{}
wp.xxxx 호출할 수 있는 모든 것들의 이름을 반환
반응형
'Back-End > Python' 카테고리의 다른 글
[Python] 주요 특수 메소드 – 문자열 표현 (0) | 2022.09.28 |
---|---|
[Python] 주요 특수 메소드 – 객체 생성/소멸 (0) | 2022.09.28 |
[Python] super 함수 (0) | 2022.09.27 |
[Python] 메소드 재정의 (Method Overriding) (0) | 2022.09.27 |
[Python] 상속(Inheritance) (0) | 2022.09.27 |