8
주어진 객체가 있다면, 클래스인지, 주어진 클래스의 서브 클래스인지 어떻게 알 수 있습니까?python에서 isinstance와 동일한 issubclass는 무엇입니까?
class Bar(Foo):
pass
isinstance(Bar(), Foo) # => True
issubclass(Bar, Foo) # <--- how do I do that?
주어진 객체가 있다면, 클래스인지, 주어진 클래스의 서브 클래스인지 어떻게 알 수 있습니까?python에서 isinstance와 동일한 issubclass는 무엇입니까?
class Bar(Foo):
pass
isinstance(Bar(), Foo) # => True
issubclass(Bar, Foo) # <--- how do I do that?
그것은 하나가 작동 기대 정확히 작동 ...
class Foo():
pass
class Bar(Foo):
pass
class Bar2():
pass
print issubclass(Bar, Foo) # True
print issubclass(Bar2, Foo) # False
당신이 예를 주어진 기본 클래스에서 파생 된 클래스의, 당신은 사용할 수 있는지 알고 싶다면 :
bar_instance = Bar()
print issubclass(bar_instance.__class__, Foo)
와우, 당신이 파이썬 인터프리터에서 이것을 실행하려고 시도하지 않았 더라면, 그것은 완전히 당신의 PC를 튀길 수 있었을 것입니다! ;-) – nikow
doh! 나는 지금 어리 석음을 느낀다 :) –
그냥 메모 : 대부분의 사람들은 유형을 확인하고 싶다. 그들이 정말로하고 싶은 것은 필요한 메소드가 구현되었는지를 확인하는 것이다. – elzapp