파이썬에서 type을 체크하는 표준적인 방법이 정해져 있나요?

어떤 object가 어떤 타입인지를 확인하고 싶은데 이걸 할 때 어떤 방법을 권장하나요?

예를 들어 object ostr인지 확인할 때요

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    1. o 가 정확히 str인지 확인

    type(o) is str


    2. o가 str의 인스턴스이거나 subclass인지 확인(표준적인 방법)

    isinstance(o, str)


    3. o가 str의 subclass인지 확인

    1. issubclass(type(o), str)
    2. type(o) in ([str] + str.__subclasses__())

    4. unicode 스트링도 포함할 경우

    unicode stringstrusbclass가 아니기 때문에 이 경우도 포함해야 할 경우는

    1. isinstance(o, basestring) # strunicode 모두 basestring의 subclass임을 이용
    2. isinstance(o, (str, unicode)) #isinstance가 tuple을 허용하는 것을 이용

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.