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


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

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

  • 2016년 01월 08일에 작성됨

조회수 326


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을 허용하는 것을 이용
  • 2016년 01월 08일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close