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

조회수 32624회

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

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

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    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을 허용하는 것을 이용

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)