본문 바로가기
Python

Python 내장함수 : getattr, isinstance

by pnnote 2023. 7. 24.
반응형

getattr

이름이 문자열로 주어진 객체의 속성을 반환하는 함수다. 함수의 기본적인 형태는 다음과 같다.

 

getattr(object, name[, default])

 

여기서 각 인자는 다음과 같은 의미를 가진다.

object: 속성을 가져올 대상 객체.
name: 가져올 속성의 이름을 나타내는 문자열. 이 이름에 해당하는 속성이 객체에 없는 경우 AttributeError가 발생한다.
default (선택적): 이름에 해당하는 속성이 객체에 없는 경우 반환할 기본값. 이 인자가 제공되지 않고 해당 이름의 속성이 없는 경우 AttributeError가 발생한다.

 

class Test:
    x = 'hello'

t = Test()

print(getattr(t, 'x'))  # 출력: hello
print(getattr(t, 'y', 'default'))  # 출력: default

isinstance

첫 번째 인자가 두 번째 인자의 인스턴스이거나 서브 클래스인지를 판별한다. 이 함수는 주로 객체의 데이터 타입을 확인할 때 사용한다.

 

isinstance(object, classinfo)

 

여기서 각 인자는 다음과 같은 의미를 가진다.

object : 타입을 확인할 객체.
classinfo : 클래스, 데이터 타입, 또는 클래스/데이터 타입의 튜플이다. object가 classinfo에 명시된 클래스 또는 데이터 타입, 혹은 그것들의 하위 클래스의 인스턴스이면 True를 반환한다.

 

print(isinstance(123, int))  # 출력: True
print(isinstance('hello', str))  # 출력: True
print(isinstance(123, (str, list, dict)))  # 출력: False
반응형