본문 바로가기
함수 설명/기본 및 범용

[Python] 사상 검증 도구 isinstance()

by First Adventure 2024. 7. 11.
반응형

소개

  isinstance 함수는 주어진 객체가 특정 클래스 또는 클래스의 튜플에 속하는지 여부를 검사하는 파이썬 내장 함수입니다. 이를 통해 객체의 타입을 안전하게 확인할 수 있습니다.

 

기본 사용법

상세 설명

  • isinstance 함수의 기본 구문은 isinstance(object, classinfo)입니다.
    • object: 타입을 검사할 객체입니다.
    • classinfo: 클래스, 클래스의 튜플 또는 클래스의 상속 계층을 나타냅니다.
  • isinstance 함수는 주어진 객체가 특정 클래스 또는 클래스의 튜플에 속하는지 확인하여, 속하면 True, 그렇지 않으면 False를 반환합니다.
  • 이 함수는 주로 타입 검사를 통해 코드의 유연성을 높이고, 안전한 타입 체크를 수행하는 데 유용합니다.

예시 설명

  • isinstance(number, int)는 정수 number가 int 타입인지 확인하여, True를 반환합니다.
  • isinstance(dog, (Animal, Dog))는 객체 dog가 Animal 또는 Dog 클래스에 속하는지 확인하여, True를 반환합니다.
  • isinstance(obj, MyClass)는 사용자 정의 클래스 MyClass의 객체 obj가 해당 클래스의 인스턴스인지 확인하여, True를 반환합니다.
  • isinstance(child, Parent)는 클래스 Child의 인스턴스 child가 부모 클래스 Parent에 속하는지 확인하여, True를 반환합니다.
# 단일 클래스 타입 검사
number = 10
result = isinstance(number, int)
print(result)  # 출력: True

# 다중 클래스 타입 검사
class Animal:
    pass

class Dog(Animal):
    pass

dog = Dog()
result = isinstance(dog, (Animal, Dog))
print(result)  # 출력: True

# 사용자 정의 클래스 타입 검사
class MyClass:
    pass

obj = MyClass()
result = isinstance(obj, MyClass)
print(result)  # 출력: True

# 상속 관계 검사
class Parent:
    pass

class Child(Parent):
    pass

child = Child()
result = isinstance(child, Parent)
print(result)  # 출력: True

 

라이센스

  Python의 표준 라이브러리와 내장 함수들은 Python Software Foundation License (PSFL) 하에 배포됩니다. 자세한 라이센스 내용은 Python 공식 라이센스 페이지에서 확인할 수 있습니다.

 

마무리

  데이터의 입력형태가 올바른지 확인하는 용도로 많이 쓰입니다. 입력이 들어왔을 때, 로직을 타기 전에 가장 먼저 사용하면 됩니다.

 

관련 내용

  [Python] 폴더 생성해줘! os.makedirs(), os.mkdir()

  [Python] 현재 경로 알려줘! os.getcwd()

  [Python] 가진 거 다꺼내! os.listdir()으로 목록 확인하기

 

반응형