본문 바로가기
Python

파이썬 isinstance 함수

by 승환파크 2023. 5. 9.

객체가 어떤 클래스로부터 만들어 졌는지 확인할 수 있는 함수이다.

첫 번째 매개변수로는 객체를 넣고 두 번째 매개변수에 클래스를 입력한다.

만약 객체가 해당 클래스를 기반으로 만들어져있으면 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