객체가 어떤 클래스로부터 만들어 졌는지 확인할 수 있는 함수이다.
첫 번째 매개변수로는 객체를 넣고 두 번째 매개변수에 클래스를 입력한다.
만약 객체가 해당 클래스를 기반으로 만들어져있으면 True, 관계가 없으면 False 를 반환한다.
작성 방법
isinstance(객체, 클래스)
class Student:
def __init__(self):
pass
student = Student()
isinstance(student, Student)
# 결과값
# True
student 는 Studnet 클래스를 기반으로 만들었으므로 True 를 반환하게 된다.
리스트와 같이 여러종류의 객체가 함께 들어있는 경우 인스턴스들을 구분하여 속성과 기능을 사용할 때 주로 사용한다.
class Student:
def study(self):
print("공부를 합니다.")
class Teacher:
def teach(self):
print("학생을 가르칩니다.")
classroom = [Student(), Student(), Teacher(), Student(), Student()]
# 반복을 적용해서 적절한 함수를 호출
for person in classroom:
if isinstance(person, Student):
person.study()
elif isinstance(person, Teacher):
person.teach()
# 결과값
# 공부를 합니다.
# 공부를 합니다.
# 학생을 가르칩니다.
# 공부를 합니다.
# 공부를 합니다.'Python' 카테고리의 다른 글
| 파이썬 클래스 변수와 클래스 메서드 (0) | 2023.05.10 |
|---|---|
| 파이썬 특수한 이름의 메서드 (1) | 2023.05.10 |
| 파이썬 소멸자 (0) | 2023.05.09 |
| 파이썬 모듈 생성 (0) | 2023.05.09 |
| 파이썬 데코레이터 (0) | 2023.05.09 |