25. isintance 함수와 object 클래스
isinstance 함수
class Simple:
pass
s = Simple()
isinstance(s, Simple) # True
isinstance([1, 2], list) # True
class Fruit:
pass
class Apple(Fruit):
pass
class SuperApple(Apple):
pass
sa = SuperApple()
isinstance(sa, SuperApple) # True
isinstance(sa, Apple) # True
isinstance(sa, Fruit) # True
- 이 객체는 저 클래스의 객체인가?
object 클래스
class Simple:
pass
isinstance(Simple(), object) # True
isinstance([1, 2], object) # True
class A:
pass
class Z(A):
pass
issubclass(Z, A) # True
issubclass(type, object) # True
dir(object) # '__class__', "__delattr__' ...
- 파이썬의 모든 클래스는 object 클래스를 직접 혹은 간접 상속한다
- object 클래스의 상속을 명시하지 않아도 파이썬이 이를 직접 혹은 간접 상속하도록 클래스를 구성
'프로그래머 > Python' 카테고리의 다른 글
[윤성우의 열혈 파이썬 중급편] 27. 연산자 오버로딩 (0) | 2020.12.24 |
---|---|
[윤성우의 열혈 파이썬 중급편] 26. 스페셜 메소드 (0) | 2020.12.24 |
[윤성우의 열혈 파이썬 중급편] 24. 상속 (0) | 2020.12.24 |
[윤성우의 열혈 파이썬 중급편] 23. 클래스와 객체의 본질 (0) | 2020.12.24 |
[윤성우의 열혈 파이썬 중급편] 22. 메소드 기반 문자열 조합 (0) | 2020.12.24 |